Hibernate获得session的方式
来源:互联网 发布:windows怎么看配置输入 编辑:程序博客网 时间:2024/06/05 07:53
首先建立一个产生Session的类如下:
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;
@Repository
public class AbstractHibernateDAO {
@Resource
private SessionFactory sessionFactory;
public Session getSession() {
return sessionFactory.getCurrentSession();
}
@Deprecated
public int excuteBySql(String sql){
Query query = getSession().createSQLQuery(sql);
return query.executeUpdate();
}
@Deprecated
public List queryBySql(String sql){
return getSession().createSQLQuery(sql).list();
}
@Deprecated
public Integer executeHql(String hql, List<Object> param) {
Query q = this.getSession().createQuery(hql);
if (param != null && param.size() > 0) {
for (int i = 0; i < param.size(); i++) {
q.setParameter(i, param.get(i));
}
}
return q.executeUpdate();
}
}
然后再创建一个类去继承上面的类
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@SuppressWarnings("unchecked")
public class DaoSupportImpl<T> extends AbstractHibernateDAO {
private Class<T> clazz;
public DaoSupportImpl() {
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
this.clazz = (Class<T>) pt.getActualTypeArguments()[0];
}
public int save(T entity) {
return (Integer) getSession().save(entity);
}
public void update(T entity) {
getSession().update(entity);
}
public T merge(T entity){
return (T) getSession().merge(entity);
}
public void saveOrUpdate(T entity) {
getSession().saveOrUpdate(entity);
}
public void delete(Serializable id) {
Object obj = getById(id);
if (obj != null) {
getSession().delete(obj);
}
}
public T getById(Serializable id) {
if (id == null) {
return null;
} else {
return (T) getSession().get(clazz, id);
}
}
}
然后我们自己写的DAO实现类就可以这样获得Session:
public class AssetidmapDaoImpl extends DaoSupportImpl<Assetidmap>{
public void main(){
Session session = getSession();
}
}
- Hibernate获得session的方式
- hibernate 获得session的两种方式
- 获得Session的方式
- Spring中获得Hibernate Session的方法
- hibernate session的获取方式
- hibernate-Session的产生方式
- hibernate 获取Session 的方式
- MyBatis Session的获得方式记录
- Hibernate中两种获取Session的方式
- Hibernate中两种获取Session的方式 (转)
- Hibernate中两种获取Session的方式
- hibernate学习之 session的产生方式
- Hibernate中两种获取Session的方式
- Hibernate中两种获取Session的方式
- Hibernate中两种获取Session的方式
- Hibernate中两种获取Session的方式
- Hibernate中两种获取Session的方式
- Hibernate中两种获取Session的方式
- 代码重构小结
- springboot JPA Connection is read-only. Queries leading to data modification are not allowed
- pc端 移动端 分享
- 线程学习笔记(九)-死锁
- Debug模式的升级和扩展
- Hibernate获得session的方式
- 关于如何扛量的一点学习
- Linux下安装jdk
- Struts2 2.5 环境配置
- 搜索
- 堆与栈的区别
- 浅谈移动类型102、122和161区别
- 项目中引入音乐-自定义按钮
- 【排序算法】:快速排序