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它。

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

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

  1. [转]使用ThinkPHP框架快速开发网站(多图)

    本文转自:http://blog.csdn.net/ruby97/article/details/7574851 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkP ...

  2. Hibernate 框架(二)(下载及环境搭建)

    一.Hibernate下载 1.通过下面网站进行下载:https://zh.osdn.net/,进入网站如下图所示. 2.单击页面顶部的导航栏中的"下载",即可进入 3.在搜索框中 ...

  3. 使用ThinkPHP框架快速开发网站(多图)

    使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助 ...

  4. Hibernate Session的delete()方法

    本文介绍Hibernate Session的delete()方法.delete()方法用于从数据库中删除与Java对象对应的记录.对应游离对象和持久化对象,delete语句会做出不同的反应. dele ...

  5. Hibernate框架--学习笔记(上):hibernate项目的搭建和常用接口方法、对象的使用

    一.什么是Hibernate框架: 1.Hibernate是一个操作数据库的框架,实现了对JDBC的封装: 2.Hibernate是一个ORM(对象关系映射)框架,我们在写程序时 ,用的是面向对象的方 ...

  6. 【大话Hibernate】Hibernate的核心接口和类

    Hibernate的核心类和接口一共有6个,分别为:Session.SessionFactory. Transaction.Query.Criteria和Configuration.这6个核心和类接口 ...

  7. python接口测试_Python接口自动化测试框架实战开发(一)

    目录 一丶叙述 二丶接口基础知识 三丶接口测试工具 四丶Fiddler的使用 五丶unittest使用 六丶mock服务入门到实战 七丶接口自动化框架设计到开发 一丶叙述 1.项目介绍 整个项目分为四 ...

  8. idea重写接口没有@override_乐字节|Java8核心实战-接口默认方法

    JAVA8已经发布很久,是自java5(2004年发布)之后Oracle发布的最重要的一个版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性,对于国内外互联网公司来说,Java8是以后技术 ...

  9. 【struts2+spring+hibernate】ssh框架整合开发

    SSH框架整合 1 Struts2+Spring+Hibernate导包 Struts2导入jar包: * struts2/apps/struts2-blank.war/WEB-INF/lib/*.j ...

最新文章

  1. [bzoj] 1176 Mokia || CDQ分治
  2. 97.5%准确率的深度学习中文分词(字嵌入+Bi-LSTM+CRF)
  3. 如何提升代码可读性?阿里发布16条设计规约
  4. js php 分段上传文件,php+js实现文件分块上传
  5. vSphere 4系列之六:Standard vSwitch
  6. eclipse护眼颜色和字体大小设置
  7. 自动化测试学习之路--java 数组
  8. Cocos2d-x3.2 EditBox的使用
  9. java各版本之间的差异_Java 8-13版本功能差异一览指南 - marcobehler
  10. c语言函数二维数组调用,C语言之调用函数传递二维数组
  11. hadoop安装教程
  12. 华为交换机查看当前配置
  13. 企业LNMP环境应用
  14. 微信查券机器人、微信公众号自动查询淘宝优惠券机器人制作教程
  15. 计算广告小窥[中]这孙子怎么什么都知道
  16. 轻松6步完成App开发
  17. java安装安装jdk,配置环境变量
  18. win7下svchost.exe占据内存过高
  19. 链改百花齐放丨 链改下的交融共识
  20. 为什么聪明人未能拯救世界?|《流浪地球》冷思考...

热门文章

  1. 【原创】ASP.NET C# 盗取中国银行汇率表
  2. 发展是硬道理 高可用从双机热备走向容灾复制集群
  3. oracle for 记录数,可视化工具dbForge Documenter for Oracle全新上线!让您轻松记录Oracle数据库...
  4. python图像切面numpy_十个Python图像处理工具,不可不知!
  5. 零基础自学Python:安装Python、解释器、代码风格等
  6. mysql 5.7 收费_MySQL5.7 常用用户操作
  7. oracle ora 14047,ORA-14047: ALTER TABLE|INDEX RENAME 不可以与其它分区组合
  8. 每个php允许的内存大小,php – 允许的内存大小为262144字节用尽(试图分配24576字节)...
  9. 简述vi编辑器的启动\退出\保存文件
  10. flask-WTF和sqlalchemy结合使用并实现前端页面登录(综合使用)