Hibernate_day02
上节内容
1 web内容回顾 2 hibernate概述 (1)orm思想 3 hibernate入门案例 4 hibernate的配置文件 5 hibernate的核心api |
今天内容
1 实体类编写规则 2 hibernate主键生成策略 (1)native (2)uuid 3 实体类操作 (1)crud操作 (2)实体类对象状态 4 hibernate的一级缓存 5 hibernate的事务操作 (1)事务代码规范写法 6 hibernate其他的api(查询) (1)Query (2)Criteria (3)SQLQuery |
实体类编写规则
1 实体类里面属性私有的 2 私有属性使用公开的set和get方法操作 3 要求实体类有属性作为唯一值(一般使用id值) 4 实体类属性建议不使用基本数据类型,使用基本数据类型对应的包装类 (1)八个基本数据类型对应的包装类 - int – Integer - char—Character - 其他的都是首字母大写 比如 double – Double (2)比如 表示学生的分数,假如 int score; - 比如学生得了0分 ,int score = 0; - 如果表示学生没有参加考试,int score = 0;不能准确表示学生是否参加考试 l 解决:使用包装类可以了, Integer score = 0,表示学生得了0分, l 表示学生没有参加考试,Integer score = null; |
Hibernate主键生成策略
1 hibernate要求实体类里面有一个属性作为唯一值,对应表主键,主键可以不同生成策略 2 hibernate主键生成策略有很多的值 3 在class属性里面有很多值 (1)native: 根据使用的数据库帮选择哪个值 (2)uuid:之前web阶段写代码生成uuid值,hibernate帮我们生成uuid值 4 演示生成策略值 uuid (1)使用uuid生成策略,实体类id属性类型 必须 字符串类型 (2)配置部分写出uuid值 |
实体类操作
对实体类crud操作
添加操作
1 调用session里面的save方法实现 |
根据id查询
1 调用session里面的get方法实现 实体类中要重写toString()方法 |
修改操作
1 首先查询,修改值 (1)根据id查询,返回对象【如果不是查出来再修改,用update保存时其他字段值会变null】 |
删除操作
1 调用session里面delete方法实现 |
实体类对象状态(概念)
1 实体类状态有三种 (1)瞬时态:对象里面没有id值,对象与session没有关联 (2)持久态:对象里面有id值,对象与session关联 (3)托管态:对象有id值,对象与session没有关联 2 演示操作实体类对象的方法 (1)saveOrUpdate方法:实现添加、实现修改 |