Hibernate 简单的CURD操作

avatar 2017年07月26日14:03:27 1 2277 views
博主分享免费Java教学视频,B站账号:Java刘哥

一、单表操作 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
  本文链接:https://liuyanzhao.com/5407.html
  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0