案例名称: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. C# is 和 as的用法

    try            {                if (sender is Button)                {                    Button dd ...

  2. Android Studio插件推荐-GsonFormat,ButterKnifeZelezny

    原创文章.转载请注明 http://blog.csdn.net/leejizhou/article/details/50557786 本篇介绍的仅仅适用android studio和 Intellij ...

  3. 装饰模式和python装饰器

    装饰器和装饰模式 先给出两者的定义: - 装饰器:装饰器是一个非常著名的设计模式,常常被用于有切面需求的场景.较为经典的有插入日志.性能測试.事务处理等. 装饰器是解决这类问题的绝佳设计.有了装饰器, ...

  4. Spring 定时器 No qualifying bean of type [org.springframework.scheduling.TaskScheduler] is defined(转)

    最近项目里面,用了spring的定时任务,一直以来,项目运行的不错.定时器也能正常使用.可是,今天启动项目测试的时候,盯着启动Log看了一阵子,突然间发现,启动的Log中居然有一个异常,虽然一闪而过, ...

  5. [TypeScript] Using Assertion to Convert Types in TypeScript

    Sometimes the compiler needs help figuring out a type. In this lesson we learn how to help out the c ...

  6. libSVM介绍(二)

    鉴于libSVM中的readme文件有点长,并且,都是採用英文书写,这里,我把当中重要的内容提炼出来,并给出对应的样例来说明其使用方法,大家能够直接參考我的代码来调用libSVM库. 第一部分,利用l ...

  7. iOS8新特性

    1. App Extension Programming Guide 2.LocalAuthentication.framework - Touch ID Authentication 3.Local ...

  8. eclipse插件安装验证及问题处理

    eclipse插件安装验异常时可看当前workspace下面的.metadata/.log文件,找到具体的问题来处理.一般常用到插件安装不成功的原因如下: 1.jar包冲突: 2.jar包依赖的jav ...

  9. 设置secureCRT中vim的字体颜色 分类: B3_LINUX 2014-07-12 22:01 1573人阅读 评论(0) 收藏

    1.在/etc/vimrc新增以下一行 syntax on 注:上述方法对root用户无效,原因为在一般用户中,alias vi=vim,而在root用户中默认无此设置,因此若需要root用户也显示颜 ...

  10. [Javascript] Case insensitive sorting for string arrays

    We look at the default Array.prototype.sort behavior and discuss how you can do case insensitive str ...