hibernate整合的公共工具类---继承实现
来源:互联网 发布:linux修改tomcat内存 编辑:程序博客网 时间:2024/06/05 06:32
//1、必须实现的接口
package com.lanou.mp.dao;
import java.io.Serializable;
import java.util.List;
public interface IBaseDao {
public <A> A getOneByID(Class<A> type,Serializable id );
public <A> List<A> getAll(String hql, List<String> parm);
public <A> List<A> findByPage(String hql,int page,int count);
public <A> boolean insert(A a);
}
//2、实现了接口的工具类
package com.lanou.mp.util;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
import com.lanou.mp.dao.IBaseDao;
public class HibernateBaseDao implements IBaseDao {
private static Configuration config;
private static SessionFactory sf;// 全系统只有一个,同servlet
static {
config = new Configuration().configure();
sf = config.buildSessionFactory();
}
/**
* 这个方法用来根据id查询
*/
@Override
public <A> A getOneByID(Class<A> type, Serializable id) {
Session session = sf.getCurrentSession();
Transaction tx = session.beginTransaction();
A a = session.get(type, id);
tx.commit();
return a;
}
/**
* 这个方法用来条件查询的
*/
@Override
public <A> List<A> getAll(String hql, List<String> parm) {
Session session = sf.getCurrentSession();
Transaction tx = session.beginTransaction();
Query<A> query = session.createQuery(hql);
for (int i = 0; i < parm.size(); i++) {
query.setParameter(i, parm.get(i));
}
List<A> list = query.getResultList();// 转化成集合
tx.commit();
return list;
}
/**
* 分页的方法
*/
@Override
public <A> List<A> findByPage(String hql, int page, int count) {
Session session = sf.getCurrentSession();
Transaction tx = session.beginTransaction();
Query<A> query = session.createQuery(hql);
query.setMaxResults(count);// 显示的条数
query.setFirstResult(page);// 从第几条记录开始
List<A> list = query.getResultList();// 转化成集合
tx.commit();
return list;
}
/**
* 这个方法用来插入的
*/
@Override
public <A> boolean insert(A a) {
Session session = sf.getCurrentSession();
Transaction tx = session.beginTransaction();
session.save(a.getClass());
tx.commit();
return true;
}
}
- hibernate整合的公共工具类---继承实现
- hibernate整合的工具类HibernateUtil----单例模式
- 继承HibernateDaoSupport实现DAO(spring整合hibernate)
- 继承HibernateDaoSupport实现DAO(spring整合hibernate)
- Hibernate实现分页的工具类
- Hibernate继承映射--每个类一个数据表的实现案例
- Hibernate中类的继承使用subclass实现
- Hibernate类的继承使用joined-class实现
- Hibernate中类的继承使用union-subclass实现
- 关于Hibernate实现继承树的问题
- hibernate 实现继承的三种方式
- Hibernate继承和聚合的实现
- hibernate实现继承
- Hibernate 实现继承实体
- Hibernate 的工具类
- hibernate的工具类
- Hibernate的工具类
- Hibernate的工具类
- web前端开发中关于面向对象(三)
- 10-25 最小生成树——kruskal算法学习——经典例题及自编模版
- 如何实现点击一个下拉菜单的选项就弹出不同的输入框或者下拉菜单
- git 工作中常用命令
- 使用Ribbon实现客户端负载均衡
- hibernate整合的公共工具类---继承实现
- oracle11gserver在win10系统上面的安装和使用
- angularJS订单管理
- 无线轮播 + GridView
- 小程序模板中的data里面的...item是什么意思
- Java并发编程:ThreadLocal
- Python: PS 滤镜--旋涡特效
- PAT考试乙级1001(C语言实现)
- shell中函数的使用方法