Hibernate增删改查的通用接口

Hibernate框架提供了很多对数据库进行操作的接口,方便使用者不用编写sql语句就能对数据库进行增删改查的简单操作。首先配置hibernate的环境,创建hibernate.cfg.xml配置文件,里面写入一些连接数据库的信息,映射文件的信息,还有一些功能属性


接着建立一个BaseDao<T>接口,然后写一些通用的方法例如:

public List<T> getAll();

public T getById(Long id);

public void save(T t);

public void delete(T t);


然后建立一个BaseDaoImpl<T>实现类用来实现BaseDao<T>接口,因为使用的是hibernate所以需要在这个实现类里面打开连接:

Configuration conf = new Configuration().configure();

SessionFactory sessionFactory = conf.buildSessionFactory();

Session session  = sessionFactory.openSession();

申明一个Class classt 用来接收传递进来的不同的T

在无参构造函数里初始化classt

public BaseDaoImpl(){
ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass();
this.classt = (Class)type.getActualTypeArguments()[0];
}


实现接口的具体方法,补齐上面所举例的方法

public List<T> getAll(){

return session.createQuery("from "+classt.getSimpleName()).list();

}

public T getById(Long id){

return (T)session.get(classt,id);

}

public void save(T t){

session.save(t);

}

public void delete(T t){

session.delete(t);

}

这样一个很基础的BaseDao就完成了 可以根据具体的需要在这个BaseDao里面加入新的方法

不同的Dao可以继承这个BaseDao来传递具体的持久化类

例如:interface UserDao extends BaseDao<User>{}

class UserDaoImpl extends BaseDaoImpl<User> implements UserDao{}

如果没有额外的要求只需这样继承后直接进行调用就可以完成一些基本的数据库操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值