• 那是从何处传来的钟声呢?偶尔听到那钟声,平添一份喜悦与向往之情。

Hibernate 简单的CURD操作

后端 Nanait 12年前 (2012-10-28) 1105次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

一、单表操作 CURD 实例

  • save
  • update
  • delete
  • get/load (查询单个记录)

 

二、代码实现

StudentTest.java

  1. @Test
  2. public void testSaveStudnets() {
  3.     //生成学生对象
  4.     Student s = new Student();
  5.     s.setName(“陶渊明”);
  6.     s.setSex(1);
  7.     s.setBirthday(new Date());
  8.     Address address = new Address(“332000”,“13512345678”,“江西九江”);
  9.     s.setAddress(address);
  10.     session.save(s);//保存对象进入数据库
  11. }
  12. @Test
  13. public void testGetStudents() {
  14.     Student s = (Student) session.get(Student.class1);
  15.     System.out.println(s);
  16. }
  17. @Test
  18. public void testLoadStudents() {
  19.     Student s = (Student) session.load(Student.class1);
  20.     System.out.println(s);
  21. }
  22. @Test
  23. public void testUpdateStudents() {
  24.     Student s = (Student) session.get(Student.class1);
  25.     s.setName(“五柳先生”);
  26.     session.update(s);
  27. }
  28. @Test
  29. public void testDeleteStudents() {
  30.     Student s = (Student) session.get(Student.class1);
  31.     session.delete(s);
  32. }

 

三、get 和 load 的区别

区别一、

  • 不考虑缓存的情况下,get 方法会在调用之后,立即向数据库发送 sql 语句,返回持久化对象。
  • load 方法会在调用后返回一个持久化对象。该代理对象只保留了实体对象的 id,直到使用实体对象的非主键属性时才发出 sql 语句。

区别二、

  • 查询数据库中不存在的数据时,get 方法返回 null 。
  • load 方法返回异常 org.hibernate.ObjectNotFoundException

 


何处钟 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Hibernate 简单的 CURD 操作
喜欢 (0)
[15211539367@163.com]
分享 (0)

您必须 登录 才能发表评论!