hibernate链接数据库的东西类(详解)ITeye - 千亿集团

hibernate链接数据库的东西类(详解)ITeye

2019年02月24日15时18分15秒 | 作者: 傲柔 | 标签: 办法,数据,业务 | 浏览: 1330

* 1.这儿获取的session和JDBC中的connection 是等价的 * 2.hibernate默许的是封闭业务,所以需求手动发动业务(要提交业务),而JDBC是默许翻开的 * */ public static Session getSession(){ return sessionFactory.openSession(); * 1.此办法和下面的增加办法功用相同,可是代码多了一些,不引荐运用 * */ static void AddUser(User user){ Session s = null; Transaction tr = null; try{ s = HibernateUtil.getSession(); tr = s.beginTransaction(); s.save(user); tr.commit(); // 一定要提交,不然不会存入数据 }catch(HibernateException e){ if(tr!=null){ tr.rollback(); throw e; //此处的反常一定要处理(抛出去),此办法处理不了 }finally{ if(s!=null){ s.close(); * 1.增加办法 * 2.此种结构和上面的增加办法功用相同,假如出现反常将会向上一级抛 * 3.引荐运用此种增加办法 * */ public static void add(Object entity){ Session s = null; Transaction tr = null; try{ s = HibernateUtil.getSession(); tr = s.beginTransaction(); s.save(entity); * 1.save办法和persist办法在敞开业务的时分没有差异,只是在不敞开业务的时分有差异 * 2.差异在于:save办法会把数据刺进数据库,可是最后会回滚掉,而persist底子就不会履行刺进操作 * */ // s.persist(entity); tr.commit(); }finally{ if(s!=null){ s.close(); public static void update(Object entity){ Session s = null; Transaction tr = null; try{ s = HibernateUtil.getSession(); tr = s.beginTransaction(); s.update(entity); tr.commit(); }finally{ if(s!=null){ s.close(); public static void delete(Object entity){ Session s = null; Transaction tr = null; try{ s = HibernateUtil.getSession(); tr = s.beginTransaction(); s.delete(entity); tr.commit(); }finally{ if(s!=null){ s.close(); * 这儿面 不需求业务管理 * */ public static Object get(Class clazz,Serializable id){ Session s = null; try{ s = HibernateUtil.getSession(); Object obj = s.get(clazz, id); return obj; }finally{ if(s!=null){ s.close();

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章