【hibernate框架】核心开发接口-saveOrUpdate方法与delete方法

简介:

1.saveOrUpdate方法剖析

saveOrUpdate方法:分情况看是save还是update。


示例:

public void testSaveOrUpdate(){
	Teacher t=new Teacher();
	t.setName("t21");
	t.setTitle("低级");
	t.setBrithday(new Date());
	t.setZhicheng(ZhiCheng.C);
	
	Configuration cfg=new Configuration();
	SessionFactory sf=cfg.configure().buildSessionFactory();
	
	Session session=sf.openSession();
	session.beginTransaction();
	session.saveOrUpdate(t);
	//这次是在数据库中添加了一个(即执行了save方法)
	session.getTransaction().commit();
	
	t.setTitle("高级");
	
	Session session2=sf.getCurrentSession();
	session2.beginTransaction();
	session2.saveOrUpdate(t);
	//这次是在数据库中修改了刚刚的数据(即执行了update方法)
	session2.getTransaction().commit();
}


输出的Sql语句:
Hibernate: 
    insert 
    into
        _teacher
        (brithday, name, _title, zhicheng) 
    values
        (?, ?, ?, ?)
Hibernate: 
    update
        _teacher 
    set
        brithday=?,
        _title=?,
        zhicheng=? 
    where
        id=?

可以看出是先insert了teacher对象,之后update了数据库的teacher记录


2.delete方法

从表中删除相应的对象。

例子:删除表中id为4的对象

Teacher t=new Teacher();
t.setId(4);
t.setName("t11");
t.setTitle("中级");
t.setBrithday(new Date());
t.setZhicheng(ZhiCheng.A);
		
Configuration cfg=new Configuration();
SessionFactory sf=cfg.configure().buildSessionFactory();
		
Session session=sf.openSession();
session.beginTransaction();
session.delete(t);
session.getTransaction().commit();
session.close();
sf.close();


必须有相应的ID,在缓存中和数据库中有才可以delete它。

这个不难,主要你自己取多做测试就行了

相关文章
|
9月前
|
SQL XML 存储
Hibernate框架【五】——基本映射——多对多映射
Hibernate框架【五】——基本映射——多对多映射
123 0
|
9月前
|
SQL XML Java
Hibernate框架【四】——基本映射——多对一和一对多映射
Hibernate框架【四】——基本映射——多对一和一对多映射
102 0
|
9月前
|
XML 存储 Java
Hibernate框架【三】——基本映射——一对一映射
Hibernate框架【三】——基本映射——一对一映射
46 0
|
SQL XML 缓存
认识 ORM 框架 Hibernate,为什么 2022 年了还在谈论它?
前言 Hibernate 作为一种全自动 ORM 框架,在几年前常与 Spring、Struts2 一起使用,并称 SSH,作为主流的企业级应用框架。伴随着 MyBatis 的诞生,以及 Hibernate 本身的一些缺陷,如今 Hibernate 已经慢慢淡出了大家的视野。
397 0
认识 ORM 框架 Hibernate,为什么 2022 年了还在谈论它?
|
前端开发 JavaScript Java
SpringBoot 项目中整合数据校验框架 hibernate-validator
SpringBoot 项目中整合数据校验框架 hibernate-validator
327 0
SpringBoot 项目中整合数据校验框架 hibernate-validator
|
前端开发 Java 数据库连接
源码解析最流行的Validator框架——Hibernate Validator
源码解析最流行的Validator框架——Hibernate Validator
563 0
源码解析最流行的Validator框架——Hibernate Validator
|
SQL Java 数据库连接
Hibernate与Sping框架的整合
Hibernate与Sping框架的整合
69 0
|
Java 数据库连接 程序员
ORM框架Hibernate全面解读
Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。
309 0
|
Java 数据库连接 数据库
Hibernate框架的快速入门
Hibernate框架的快速入门
|
前端开发 Java 数据库连接
连Hibernate技术都不清楚,你敢说你自己会ORM框架?
ORM框架不是一个新话题,它已经伴随我们很多年了。它提供了概念性的、易于理解的数据模型,将数据库中的表和内存中的对象建立了很好的映射关系。在Java中常用的ORM框架主要有两个:Hi...
133 0