案例名称: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
*/
@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();
}

6、测试

\

查询所有的User

7、修改TestHibernate

	/**
* 查询所有的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();
}

8、测试



Hibernate——(2)增删改查的更多相关文章

  1. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  2. Hibernate的增删改查

    一.搭建Hibernate开发环境,这里就不说了,直接说环境搭好后的事情. 二.项目的目录结构

  3. hibernate实现增删改查的各种方法

    1>接口(主要是增删改查的接口)BaseDao.java /** * * @author fly.zhou */ public interface IBaseDao { //增加对应实体的一条记 ...

  4. EasyUI + Spring MVC + hibernate实现增删改查导入导出

    (这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...

  5. hibernate之增删改查demo

    package dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import o ...

  6. Hibernate基础增删改查语法

    1.创建好Hibernate项目,创建好实体类和测试类,如果不会创建Hibernate项目的同学,点此处:http://www.cnblogs.com/zhaojinyan/p/9336174.htm ...

  7. SpringMVC整合Hibernate实现增删改查之按条件查询

    首先我贴出我项目的结构,只完成了条件查询的相关代码,增删改没有写. 1.新建一个动态Web工程,导入相应jar包,编写web.xml配置文件 <context-param> <par ...

  8. (四)Hibernate的增删改查操作(1)

    Hiberntae的查找操作有多种: 1.  使用Criteria接口查询 Query_Criteria.java package action; import java.util.ArrayList ...

  9. hibernate学习笔记之四 Hibernate的增删改查

    采用JUnit测试,继承TestCase import java.util.Date; import junit.framework.TestCase; import org.hibernate.Se ...

  10. Hibernate常用增删改查方法

    /** * @param obj * @return * 添加数据 */ public Serializable saveObject(Object obj){ return this.getHibe ...

随机推荐

  1. 【BZOJ 3998】弦论

    [链接]h在这里写链接 [题意]     给你一个长度为n的子串;     让你求出第k小的子串是什么;     输出答案的类型分两种;     第一种,重复的算两次,第二种,重复的算一次.     ...

  2. 账号被盗!请勿在CSDN,回复不论什么消息。

    账号被盗!请勿在CSDN,回复不论什么消息.

  3. 一位90后程序员的自述:如何从年薪3w到30w!

    初入职场之时,大多数人都应该考虑过这样的一个问题,如何找到一种实用,简化web流程的方法,在工作之中能有所提升和突破. 学好哪些?基础必须精通! 九层之塔,起于垒土;千里之行,始于足下.入门之前,这些 ...

  4. arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新

    风过无痕 原文  arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新 深入理解游标Cursors,实现数据的快速查找,插入,删除,更新 1.查找数据Search Cu ...

  5. PWA之Web 应用清单

    原文 简书原文:https://www.jianshu.com/p/5c96242188e8 大纲 1.什么是Web 应用清单 2.“清单文件”:Web App Manifest 规范的应用 3.we ...

  6. 【37.38%】【codeforces 722C】Destroying Array

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  7. perl对比两个文件的行

    perl对比两个文件的行 对比两个文件的各行,得到A与B相同的行/A与B不相同的行 主要功能 得到相同行 得到A中包含,B不包含的行 得到B中包含,A中不包含的行 具体执行情况 Perl代码 #!/u ...

  8. Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser 2014-06-25 14:25 722人阅读 评论(1) 收藏

    一.Lucene的查询语法 Lucene所支持的查询语法可见http://lucene.apache.org/java/3_0_1/queryparsersyntax.html (1) 语法关键字 + ...

  9. mysql查询字段所在表

    use information_schema;select * from columns where column_name='字段名' ;

  10. EChats+Ajax之柱状图的数据交互

    原文链接:https://blog.csdn.net/qq_37936542/article/details/79723710 一:下载 echarts.min.js 选择完整版进行下载,精简版和常用 ...