文档章节

Hibernate03--基本的增删改查操作

南久久
 南久久
发布于 2017/07/25 19:47
字数 293
阅读 1
收藏 0
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.junit.Test;

import com.bjsxt.pojo.Student;
import com.bjsxt.utils.HbnUtil;

public class StudentTest {
	@Test
	public void testSave(){
		Session session = HbnUtil.getSession();
		try {
			//5.开启事务
			session.beginTransaction();
			//6.操作数据
			Student student = new Student("lisi", 24, 99.8);
			session.save(student);
			//7.提交事务
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			//8.回滚事务
			session.getTransaction().rollback();
		}
	}
	//persist与save功能相同实现的接口不同
	@Test
	public void testPersist(){
		Session session = HbnUtil.getSession();
		try {
			session.beginTransaction();
			Student stu = new Student("老王", 22, 66);
			session.persist(stu);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}
	}
	
	@Test
	public void testUpdate(){
		Session session = HbnUtil.getSession();
		try {
			session.getTransaction().begin();
			Student student = new Student();
			student.setId("insert a id");
			student.setName("修改");
			session.update(student);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}
	}
	
	//对象被赋值id的时候执行update,不赋值执行save
	@Test
	public void testSaveOrUpdate(){
		Session session = HbnUtil.getSession();
		try {
			session.getTransaction().begin();
			Student student = new Student();
			student.setId("insert a id");
			student.setName("修改");
			session.update(student);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}
	}
	@Test
	public void testDelete(){
		Session session = HbnUtil.getSession();
		try {
			session.beginTransaction();
			Student student = new Student();
			student.setId("insert a id");
			session.delete(student);
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}
	}
	
	//get和load当id不在表中时get方法返回Null  load方法异常
	
	@Test
	public void testGet(){
		Session session = HbnUtil.getSession();
		try {
			session.beginTransaction();
			Object student = session.get(Student.class, "insert a id");
			System.out.println(student);
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}
	}
	@Test
	public void testLoad(){
		Session session = HbnUtil.getSession();
		try {
			session.beginTransaction();
			Object stu = session.load(Student.class, "insert a id");
			System.out.println(stu);
		} catch (Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}
	}
}

 

© 著作权归作者所有

南久久
粉丝 0
博文 44
码字总数 20109
作品 0
银川
私信 提问
javascript(十三) DOM的增删查改

javascript(十三) DOM的增删查改 DOM1老版本下的增删查改: 最老版本DOM修改基本是借助DOM集合进行操作,这个版本称为DOM1: DOM的集合有表单集合,图片集合,链接,描点集合。就用连接集合...

年少爱追梦
2016/06/04
189
0
fallsea/fsLayuiPlugin

fsLayuiPlugin fsLayuiPlugin 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作。目前支持单数据表格、多数...

fallsea
2017/11/12
0
0
Android 的 ORM 框架--DBExecutor

DBExecutor主要的功能 使用了读写锁,支持多线程操作数据。 支持事务 支持ORM 缓存Sql,缓存表结构 这个类库主要用于android 数据库操作。 始终围绕着一个类对应一个表的概念。 只要创建一个...

lucky_jayce
2014/09/15
1K
1
lucky_jayce/DBExecutor

DBExecutor 主要的功能 1.使用了读写锁,支持多线程操作数据。 2.支持事务 3.支持ORM 4.缓存Sql,缓存表结构 这个类库主要用于android 数据库操作。 始终围绕着一个类对应一个表的概念。 只要...

lucky_jayce
2016/01/04
0
0
springboot中使用tk.mybatis代码生成器

tk.mybatis是对mybatis的进一步封装,它对基本的单表的增删改查又做了进一步封装,springboot中的使用之前已经写过了,如果没用过,请参考我之前的文章《springboot中使用PageHelper和tk.my...

梦想修补师
2017/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot设置项目访问路径

今天配置Springboot项目访问路径遇到一个小坑,这里做一个记录。针对Springboot2.0以下版本和以上版本的配置方式是不同的。这里针对yml配置文件做记录,properties文件配置方式相同。 Spring...

王子城
28分钟前
5
0
Redis 序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer

当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedis...

xiaolyuh
39分钟前
5
0
jquery通过css的color属性实现选取特殊颜色的内容

今天一个朋友问到怎么使用jQuery选取特定颜色的内容,以前没有遇到过这样的需求。首先,很多人可能想到使用jQuery属性选择器来实现,这是不可以的,因为 color 是 css 的属性,而不是 html 的...

前端老手
50分钟前
2
0
python3 网络爬虫开发实战 win10环境下 图形验证码识别需要安装的工具及地址

先下载安装tesseract exe文件 tesseract exe文件安装下载地址:https://digi.bib.uni-mannheim.de/tesseract/ win下直接下载双击安装即可,注意路径,下面用于配置环境变量。 参考网址: ht...

S三少S
今天
10
0
PHP学习记录整理

PHP 输出文本的基础指令:echo 和 print。 echo和print的区别 echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) echo 输出一个或者多个字符串。 print ...

半缘修道半缘君丶
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部