案例名称: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. Day2:购物车小程序

    一.购物车小程序第一版 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan product_list = [ (&quo ...

  2. amazeui页面分析2

    amazeui页面分析2 一.总结 1.弄清结构:这些部分都是一块一块分好了的,掌握结构之后,想替换哪块就替换哪块,想不要哪块就不要哪块,非常简单的 2.一块一块:替换十分简单 3.弄清楚大块之后,然 ...

  3. 每日技术总结:flex,选项卡,classList,

    1.Flex布局子元素垂直居中 给父元素添加以下样式: .parent { display: flex; align-items: center; } 2.js面向对象的选项卡 见另一篇文章 js面向 ...

  4. swift项目第四天:动态加载控制器

    一:Appdelegate import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate ...

  5. [TypeStyle] Generate static css + html files using TypeStyle

    You can easily use TypeStyle to build static html files with encapsulated CSS. You can use this patt ...

  6. [Angular2 Form] Model Driven Form Custom Validator

    In this tutorial we are going to learn how simple it is to create custom form field driven validator ...

  7. HDU1248 寒冰王座 【数学题】or【全然背包】

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  8. link和@import引入外部样式的区别

    原文: 简书原文:https://www.jianshu.com/p/14f99062f29a 大纲 前言 1.隶属上的差别 2.加载顺序的不同 3.兼容性上的差别 4.使用DOM控制样式时的差别 5 ...

  9. jquery ajax实现省市二级联动

    今天给大家带来使用jQuery ajax实现的省市联动效果.我们直奔主题,先说下实现思路: 准备数据 这里数据库我使用的是mysql,先看下表格: provience表 city表 这里使用provi ...

  10. HDU 5072 Coprime (单色三角形+容斥原理)

    题目链接:Coprime pid=5072"> 题面: Coprime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...