Hibernate——(2)增删改查

案例名称:Hibernate完成增删改查

案例描述:抽取出工具类并完成删除、修改、查询功能。

具体过程:

1、使用上面的例子(Hibernate——(1)Hibernate入门http://blog.youkuaiyun.com/dawanganban/article/details/13748235

2、新建HibernateUtils :用于封装创建Session的方法。

  1. <strong><span style="font-family:FangSong_GB2312;font-size:14px;">package com.xsyu.tts.util;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.cfg.Configuration;  
  6.   
  7. public class HibernateUtils {  
  8.     private static Configuration conf;  
  9.     private static SessionFactory factory;  
  10.     // conf 对象只要加载一次就可以了  
  11.     // 如果放入 openSession 方法中效率会降低  
  12.     static {  
  13.         conf = new Configuration();  
  14.         conf.configure();  
  15.         factory = conf.buildSessionFactory();  
  16.     }  
  17.   
  18.     public static Session openSession() {  
  19.         return factory.openSession();  
  20.     }  
  21. }</span></strong>  
如上面代码中,每个用户对应一个Session,但是SessionFactory是共享的

删除指定ID的User

3、修改TestHibernate

增加方法test2(),用于删除指定ID的User

  1. <strong><span style="font-family:FangSong_GB2312;font-size:14px;">  /* 
  2.     * 删除指定ID的User 
  3.     */  
  4.     public void tst2() {  
  5.         Session session = HibernateUtils.openSession();  
  6.         User user = new User();  
  7.         user.setId(1);  
  8.         // 方式1  
  9.         /* 
  10.          * Transaction tx = session.getTransaction(); tx.begin(); 
  11.          */  
  12.         // 方式2:简写  
  13.         Transaction tx = session.beginTransaction();  
  14.         session.delete(user);  
  15.         tx.commit();  
  16.         session.close();  
  17.     }</span></strong>  
4、测试

(1)运行TestHibernate


(2)查看数据库


更改指定ID的User

5、修改TestHibernate

  1. <strong><span style="font-family:FangSong_GB2312;font-size:14px;">  /** 
  2.      * 更改User 
  3.      */  
  4.     @Test  
  5.     public void tst3() {  
  6.         User user = new User();  
  7.         user.setId(3);  
  8.         user.setLoginName("ssh");  
  9.         user.setPassword("xyz");  
  10.         user.setName("Hibernate");  
  11.         Session session = HibernateUtils.openSession();  
  12.         Transaction tx = session.beginTransaction();  
  13.         session.update(user);  
  14.         tx.commit();  
  15.         session.close();  
  16.     }</span></strong>  
6、测试

\

查询所有的User

7、修改TestHibernate

  1. <strong><span style="font-family:FangSong_GB2312;font-size:14px;">  /** 
  2.      * 查询所有的User 
  3.      */  
  4.     @Test  
  5.     public void tst4() {  
  6.         Session session = HibernateUtils.openSession();  
  7.         // HQL -- Hibernate提供的面向对象的查询语句  
  8.         Query query = session.createQuery("from User");  
  9.         List<User> userList = query.list();  
  10.         for (User user : userList) {  
  11.             System.out.println(user.getId() + "," + user.getName() + ","  
  12.                     + user.getLoginName() + "," + user.getPassword());  
  13.         }  
  14.         session.close();  
  15.     }</span></strong>  
8、测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值