Hibernate——(2)增删改查

来源:互联网 发布:上海华为软件测试 编辑:程序博客网 时间:2024/05/24 06:35

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

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

具体过程:

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

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

package com.xsyu.tts.util;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtils {private static Configuration conf;private static SessionFactory factory;// conf 对象只要加载一次就可以了// 如果放入 openSession 方法中效率会降低static {conf = new Configuration();conf.configure();factory = conf.buildSessionFactory();}public static Session openSession() {return factory.openSession();}}
如上面代码中,每个用户对应一个Session,但是SessionFactory是共享的

删除指定ID的User

3、修改TestHibernate

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

/** 删除指定ID的User*/public void tst2() {Session session = HibernateUtils.openSession();User user = new User();user.setId(1);// 方式1/* * Transaction tx = session.getTransaction(); tx.begin(); */// 方式2:简写Transaction tx = session.beginTransaction();session.delete(user);tx.commit();session.close();}
4、测试

(1)运行TestHibernate


(2)查看数据库


更改指定ID的User

5、修改TestHibernate

/** * 更改User */@Testpublic void tst3() {User user = new User();user.setId(3);user.setLoginName("ssh");user.setPassword("xyz");user.setName("Hibernate");Session session = HibernateUtils.openSession();Transaction tx = session.beginTransaction();session.update(user);tx.commit();session.close();}
6、测试

\

查询所有的User

7、修改TestHibernate

/** * 查询所有的User */@Testpublic void tst4() {Session session = HibernateUtils.openSession();// HQL -- Hibernate提供的面向对象的查询语句Query query = session.createQuery("from User");List<User> userList = query.list();for (User user : userList) {System.out.println(user.getId() + "," + user.getName() + ","+ user.getLoginName() + "," + user.getPassword());}session.close();}
8、测试



原创粉丝点击