package com.lyq.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import com.lyq.util.HibernateFilter;
/**
* 基本数据库操作类,放置操作数据库的常用方法
* 主要用于继承
* @author Li Yong Qiang
*/
public class SupperDao {
//Session对象
protected Session session = null;
/**
* 保存信息
* @param obj 对象
*/
public void save(Object obj){
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
session.save(obj); //保存对象
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
}
/**
* 保存/更新信息
* @param obj 对象
*/
public void saveOrUpdate(Object obj){
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
session.saveOrUpdate(obj); //保存或修改对象
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
}
/**
* 删除信息
* @param obj 对象
*/
public void delete(Object obj){
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
session.delete(obj); //删除对象
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
}
/**
* 按hql查询所有信息
* @param hql hql语句
*/
public List findByHQL(String hql){
List list = null;
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
list = session.createQuery(hql) //创建Query对象
.list(); //返回结果集
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
return list;
}
/**
* 按hql删除信息
* @param hql hql语句
*/
public void deleteByHQL(String hql){
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
session.createQuery(hql) //创建Query对象
.executeUpdate(); //更新
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
}
/**
* 单值检索
* @param hql hql语句
* @param where 查询条件数组
* @return Object
*/
public Object uniqueResult(String hql,Object[] where){
Object obj = null;
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
Query query = session.createQuery(hql); //创建Query对象
//如果where不为空,则对HQL语句进行动态赋值
if(where != null && where.length > 0){
for (int i = 0; i < where.length; i++) {
if(where[i] != null){
query = query.setParameter(i, where[i]);
}
}
}
obj = query.uniqueResult(); //单值检索
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
return obj;
}
/**
* 分页查询
* @param hql hql语句
* @param offset 起始位置
* @param length 偏移量
* @param where 查询条件,Object数组类型
* @return List集合
*/
public List findPaging(String hql,int offset,int length,Object[] where){
List list = null;
try {
session = HibernateFilter.getSession(); //获取Session对象
session.beginTransaction(); //开启事物
Query query = session.createQuery(hql); //创建Query对象
//构建查询条件
if(where != null && where.length > 0){
for (int i = 0; i < where.length; i++) {
if(where[i] != null){
query = query.setParameter(i, where[i]);
}
}
}
list = query.setFirstResult(offset) //设置起始位置
.setMaxResults(length) //偏移量
.list(); //获取结果集
session.getTransaction().commit(); //提交事物
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
session.getTransaction().rollback(); //回滚事物
}
return list;
}
}
最近下载更多
2860615178 LV4
2024年5月29日
g11865095 LV1
2024年5月14日
javaee165 LV2
2023年2月15日
upup996 LV6
2022年12月15日
微信网友_6261654233190400 LV2
2022年12月14日
Hsy605 LV9
2022年6月22日
北方菜 LV11
2022年5月11日
湫枫1234 LV4
2022年4月3日
wanglinddad LV55
2022年2月23日
破衣飘飘 LV2
2022年2月9日

最近浏览