案例名称:Hibernate完成增删改查
案例描述:抽取出工具类并完成删除、修改、查询功能。
具体过程:
1、使用上面的例子(Hibernate——(1)Hibernate入门http://blog.youkuaiyun.com/dawanganban/article/details/13748235)
2、新建HibernateUtils :用于封装创建Session的方法。
- <strong><span style="font-family:FangSong_GB2312;font-size:14px;">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();
- }
- }</span></strong>
删除指定ID的User
3、修改TestHibernate
增加方法test2(),用于删除指定ID的User
- <strong><span style="font-family:FangSong_GB2312;font-size:14px;"> /*
- * 删除指定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();
- }</span></strong>
(1)运行TestHibernate
(2)查看数据库
更改指定ID的User
5、修改TestHibernate
- <strong><span style="font-family:FangSong_GB2312;font-size:14px;"> /**
- * 更改User
- */
- @Test
- public 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();
- }</span></strong>
\
查询所有的User
7、修改TestHibernate
- <strong><span style="font-family:FangSong_GB2312;font-size:14px;"> /**
- * 查询所有的User
- */
- @Test
- public 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();
- }</span></strong>