标签:
Hibernate对普通JDBC的操作进行了轻量级的封装,使得开发人员可以利用Session对象以面向对象的思想来实现对关系数据库的操作。
一般通过Configuration对象读取相应的配置文件来创建SessionFactory,然后通过SessionFactory对象获取Session对象,获取Session对象之后,我们就可以相关数据的操作了。
下面来介绍一下Session对象的几种方法:
1 //新增一个用户对象 2 public void addUser(User user) { 3 Session session = HibernateUtil. currentSession (); 4 Transaction ts = null ; 5 try { 6 ts = session.beginTransaction(); 7 session.save(user); 8 ts.commit(); 9 } catch (Exception e){ 10 ts.rollback(); 11 System. out .println( "---error---" ); 12 e.printStackTrace(); 13 } finally { 14 HibernateUtil. closeSession (); 15 } 16 }
1 public void removeUser() { 2 Session session = HibernateUtil. currentSession (); 3 Transaction ts = null ; 4 User user = null ; 5 try { 6 ts = session.beginTransaction(); 7 user = (User)session.get(User. class , new Integer( 1 )); //加载一个持久化对象 8 session.delete(user); //计划执行一个deleted操作 9 ts.commit(); //在清理缓存时,数据库执行deleted操作 10 } catch (Exception e){ 11 ts.rollback(); 12 System. out .println( "---error---" ); 13 e.printStackTrace(); 14 } finally { 15 HibernateUtil. closeSession (); //从缓存中删除User对象,关闭Session 16 } 17 } 18 19 20 Session session = HibernateUtil. currentSession (); 21 Transaction ts = null ; 22 try { 23 ts = session.beginTransaction(); 24 /** 25 * 假设user是一个游离态对象,调用session.delete(user)会使其先变为 一个持久化对象,然后再计划执行一个deleted操作 26 */ 27 session.delete( user ); 28 ts.commit(); //在清理缓存时,数据库执行deleted操作 29 } catch (Exception e){ 30 ts.rollback(); 31 System. out .println( "---error---" ); 32 e.printStackTrace(); 33 } finally { 34 HibernateUtil. closeSession (); //从缓存中删除User对象,关闭Session 35 }
1 //使用get()方法加载一个指定id的User对象 2 public void getUserById( int id) { 3 Session session = HibernateUtil. currentSession (); 4 Transaction ts = null ; 5 User user = null ; 6 try { 7 ts = session.beginTransaction(); 8 user = (User)session.get(User. class , id); 9 ts.commit(); 10 } catch (Exception e){ 11 ts.rollback(); 12 System. out .println( "---error---" ); 13 e.printStackTrace(); 14 } finally { 15 HibernateUtil. closeSession (); 16 } 17 }
1 //使用load()方法加载一个指定id的User对象 2 public void getUserById( int id) { 3 Session session = HibernateUtil. currentSession (); 4 Transaction ts = null ; 5 User user = null ; 6 try { 7 ts = session.beginTransaction(); 8 user = (User)session. load (User. class , id); 9 ts.commit(); 10 } catch (Exception e){ 11 ts.rollback(); 12 System. out .println( "---error---" ); 13 e.printStackTrace(); 14 } finally { 15 HibernateUtil. closeSession (); 16 } 17 }
待补充:
标签:
原文地址:http://www.cnblogs.com/UniqueColor/p/5720781.html