📄 basedaoimpl.java
字号:
package com.y2.hr.base.dao.impl;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.y2.hr.base.dao.BaseDao;
public class BaseDaoImpl implements BaseDao {
/*
* 会话工厂属性
*/
protected SessionFactory sessionFactory = null;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
/**
* 数据库对象的添加
*/
public boolean add(Object obj) {
boolean flag = false;
Session session = sessionFactory.openSession();
Transaction trans = null;
try {
trans = session.beginTransaction();
session.save(obj);
trans.commit();
flag = true;
} catch (Exception e) {
if (null != trans) {
trans.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
return flag;
}
/**
* 数据库对象的删除
*/
public boolean del(Object obj) {
boolean flag = false;
Session session = sessionFactory.openSession();
Transaction trans = null;
try {
trans = session.beginTransaction();
session.delete(obj);
trans.commit();
flag = true;
} catch (Exception e) {
if (null != trans) {
trans.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
return flag;
}
/**
* 数据库对象的修改
*/
public boolean mod(Object obj) {
boolean flag = false;
Session session = sessionFactory.openSession();
Transaction trans = null;
try {
trans = session.beginTransaction();
session.update(obj);
trans.commit();
flag = true;
} catch (Exception e) {
if (null != trans) {
trans.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
return flag;
}
/**
* 根据 hql 语句获取数据库对象集合
*/
public List<?> get(String hql) {
Session session = sessionFactory.openSession();
Query query = session.createQuery(hql);
List<?> list = query.list();
session.close();
return list;
}
/**
* 根据 hql 语句获取数据库对象记录数
*/
public int sum(String hql) {
Session session = sessionFactory.openSession();
Query query = session.createQuery(hql);
int count = Integer.parseInt(query.uniqueResult().toString());
session.close();
return count;
}
/**
* 根据(查询对象) hql 语句及(当前页)curPage 获取数据库对象分页集合
*/
public List<?> getPage(String hql, int curPage) {
Session session = sessionFactory.openSession();
Query query = session.createQuery(hql);
query.setFirstResult((curPage - 1) * 10);
query.setMaxResults(10);
List<?> list = query.list();
session.close();
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -