Hibernate——(2)增删改查
案例名称: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)增删改查的更多相关文章
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- Hibernate的增删改查
一.搭建Hibernate开发环境,这里就不说了,直接说环境搭好后的事情. 二.项目的目录结构
- hibernate实现增删改查的各种方法
1>接口(主要是增删改查的接口)BaseDao.java /** * * @author fly.zhou */ public interface IBaseDao { //增加对应实体的一条记 ...
- EasyUI + Spring MVC + hibernate实现增删改查导入导出
(这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...
- hibernate之增删改查demo
package dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import o ...
- Hibernate基础增删改查语法
1.创建好Hibernate项目,创建好实体类和测试类,如果不会创建Hibernate项目的同学,点此处:http://www.cnblogs.com/zhaojinyan/p/9336174.htm ...
- SpringMVC整合Hibernate实现增删改查之按条件查询
首先我贴出我项目的结构,只完成了条件查询的相关代码,增删改没有写. 1.新建一个动态Web工程,导入相应jar包,编写web.xml配置文件 <context-param> <par ...
- (四)Hibernate的增删改查操作(1)
Hiberntae的查找操作有多种: 1. 使用Criteria接口查询 Query_Criteria.java package action; import java.util.ArrayList ...
- hibernate学习笔记之四 Hibernate的增删改查
采用JUnit测试,继承TestCase import java.util.Date; import junit.framework.TestCase; import org.hibernate.Se ...
- Hibernate常用增删改查方法
/** * @param obj * @return * 添加数据 */ public Serializable saveObject(Object obj){ return this.getHibe ...
随机推荐
- C# is 和 as的用法
try { if (sender is Button) { Button dd ...
- Android Studio插件推荐-GsonFormat,ButterKnifeZelezny
原创文章.转载请注明 http://blog.csdn.net/leejizhou/article/details/50557786 本篇介绍的仅仅适用android studio和 Intellij ...
- 装饰模式和python装饰器
装饰器和装饰模式 先给出两者的定义: - 装饰器:装饰器是一个非常著名的设计模式,常常被用于有切面需求的场景.较为经典的有插入日志.性能測试.事务处理等. 装饰器是解决这类问题的绝佳设计.有了装饰器, ...
- Spring 定时器 No qualifying bean of type [org.springframework.scheduling.TaskScheduler] is defined(转)
最近项目里面,用了spring的定时任务,一直以来,项目运行的不错.定时器也能正常使用.可是,今天启动项目测试的时候,盯着启动Log看了一阵子,突然间发现,启动的Log中居然有一个异常,虽然一闪而过, ...
- [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 ...
- libSVM介绍(二)
鉴于libSVM中的readme文件有点长,并且,都是採用英文书写,这里,我把当中重要的内容提炼出来,并给出对应的样例来说明其使用方法,大家能够直接參考我的代码来调用libSVM库. 第一部分,利用l ...
- iOS8新特性
1. App Extension Programming Guide 2.LocalAuthentication.framework - Touch ID Authentication 3.Local ...
- eclipse插件安装验证及问题处理
eclipse插件安装验异常时可看当前workspace下面的.metadata/.log文件,找到具体的问题来处理.一般常用到插件安装不成功的原因如下: 1.jar包冲突: 2.jar包依赖的jav ...
- 设置secureCRT中vim的字体颜色 分类: B3_LINUX 2014-07-12 22:01 1573人阅读 评论(0) 收藏
1.在/etc/vimrc新增以下一行 syntax on 注:上述方法对root用户无效,原因为在一般用户中,alias vi=vim,而在root用户中默认无此设置,因此若需要root用户也显示颜 ...
- [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 ...