实体类及实体类的三种状态
实体类编写规则
- 定义实体类属性是私有的
- 给属性提供了get、set方法
- 要求属性有唯一值(一般使用id)
- 实体类属性不建议使用基本的数据类型,使用基本的数据类型的包装类
实体类的操作
- 添加操作,使用Session的save方法
- 根据id查询,调用Session里的get方法
- 修改操作
- 第一步,首先根据id查询到数据,返回实体类对象
- 第二步,修改返回的实体类对象的属性值
- 第三步,使用Session中的update方法,更新数据
- 案例:
- 修改前数据库信息
- 修改后数据库信息
- 修改前数据库信息
- 删除操作
- 第一中方法:
- 第一步:首先查询要删除的数据
- 第二步:调用Session的delete方法执行删除操作
- 第二种方法:
- 创建实体类 对象,指定要删除的id
- 调用Session的delete方法删除数据
- 第一中方法:
实体类中的三种状态
- 瞬时态 :对象里面没有id值,对象和session没有关联
- 持久态:对象里面有id值,对象和Session关联
- 托管态:对象有id值,对象和Session没有关系
- 操作实体类的方法saveOrUpdate
- 如果实体类是瞬时态那么就执行添加操作sql语句inert into
- 如果实体类是持久态,就执行更新操作update。。。
- 如果实体类是托管态,执行update操作
- saveOrUpdate同时包含了save和 update方法
- 当id主键不存在的时候,执行save方法
- 当id主键不存在并且 数据库存在的时候,执行update方法
- 当id主键不为空,但是数据库不存在的时候,就会抛出异常
- 这三种状态有的时候,也被称为持久态,临时状态,游离态;