hibernate学习之实体类以及crud操
来源:互联网 发布:灵族捏脸数据 编辑:程序博客网 时间:2024/05/21 17:46
- 实体类的编写规则
1.实体类的属性是私有的
2.私有属性要使用公开的get,set方法
3.要求实体类有属性作为唯一值(一般使用id值)
4.实体类属性建议不使用基本数据类型,而是使用基本数据类型对应的包装类
(1)八个基本数据类型的包装类
-int ——Integer
-char——Character
-其他都是首字母大写比如 double——Double
(2)比如表示学生的分数,假如 int score;
- 比如学生得了0分,int score = 0;
- 如果表示学生没有参加考试,int score = 0; 不能准确的表示学生是参加考试
· 解决:使用包装类Integer score = null(包装类可以判断null值,初始值也为null,int初始值为0,无法区分null)
- hibernate主键生成策略
1.hibernate要求实体类里面有一个属性作为唯一值,对应表主键,主键可以不同生成策略
2.主键生成策略有很多值,只要记住以下两个值
(1)native:根据使用的数据库会选择哪个值
(2)uuid:之前web阶段需要写代码生成uuid值,hibernate会帮我们自动生成uuid值
3.演示生成uuid
(1)使用uuid生成策略,实体类id属性数据类型必须字符串类型
(2)配置部分写uuid值
<generator class="uuid"> </generator>
(3)结果:
- 实体类的操作
- 实体类的操作
1.添加操作
//添加功能User user = new User();user.setS_username("sq");user.setS_password("sq");//调用session里面的方法实现添加session.save(user);
2.根据id查询
(1)调用session里面的get方法实现
//4.根据id查询//调用session里面的get方法//第一个参数:实体类的class//第二个参数:id值User user = session.get(User.class, "4028802e5c8b835a015c8b835cd20000");System.out.println(user);
3.修改操作
(1)首先查询,再修改值
根据id查询,返回对象
//4.修改操作//4.1根据id查询User user = session.get(User.class, "4028802e5c8b835a015c8b835cd20000");//4.2向返回的对象里面设置修改之后的值user.setS_username("lucy");//4.3调用session的方法进行修改//执行过程:到user对象里面找到uid值,根据uid值进行修改session.update(user);
注意:update可以改成save方法,结果一样,但是违反里面规则,还有saveorupdate方法
4.删除操作
//4.删除操作//第一种根据id查询出对象(一般)//User user = session.get(User.class, "4028802e5c8b835a015c8b835cd20000");//session.delete(user);//第二种User user = new User();user.setS_uid("4028802e5c8b8845015c8b8848550000");session.delete(user);
- 实体类对象状态(概念)
1.实体类的状态有三种
(1)瞬时态:对象里面没有id值,对象与session没有关联(添加对象时创建的没有id对象)
User user = new User();user.setS_username("sq");user.setS_password("sq");
(2)持久态:对象里面有id值,对象与session关联
User user = session.get(User.class, "4028802e5c8b835a015c8b835cd20000");
(3)托管态:对象里面有id值,对象与session没有关联(用的不多)
User user = new User();user.setS_uid("4028802e5c8b8845015c8b8848550000");
(1)savOrUpdate方法:实现添加,实现修改操作
//4.SaveOrUpdate操作User user = new User();user.setS_username("张三");user.setS_password("111");//实体类对象是瞬时态时,做添加操作session.saveOrUpdate(user);
//4.SaveOrUpdate操作User user = new User();user.setS_uid("4028802e5c8bb437015c8bb43a350000");user.setS_username("老王");user.setS_password("333");//实体类对象是托管态时,做修改操作session.saveOrUpdate(user);
//4.SaveOrUpdate操作User user = session.get(User.class, "4028802e5c8b835a015c8b835cd20000");user.setS_username("lucy");//实体类是持久态,做修改操作session.saveOrUpdate(user);
阅读全文
1 0
- hibernate学习之实体类以及crud操
- hibernate 对实体类的crud操作
- Hibernate之CRUD工具类
- 解决Hibernate 实体类之间CRUD的代码冗余
- Hibernate学习笔记之Session-API实现CRUD以及get&load&merge方法
- Hibernate框架学习之注解映射实体类
- Hibernate框架学习之注解映射实体类
- Hibernate读书笔记之CRUD
- hibernate之2.CRUD
- WebService之CXF创建实体服务(CRUD)
- Hibernate 学习笔记-1-2(测试Hibernate中session的生命周期以及CRUD)
- Hibernate之完整的CRUD
- Java Hibernate 之 CRUD 操作
- hibernate之crud小案例
- Hibernate 之实体类之间的关系
- Hibernate的CRUD以及junit测试
- 对实体类的CRUD操作
- 对实体类的CRUD操作
- 算法 —— 算法概述
- ibm 聊天机器人android 代码 readme
- [UILabel copyWithZone:]: unrecognized selector sent to instance
- Android解析和创建XML之学习笔记------SAX
- YARN的工作原理
- hibernate学习之实体类以及crud操
- pymsql基本用法
- 安卓设计模式之MVC
- adapter.notify()、notifyAll()、notifyDataSetChanged ()、notifyDataSetInvalidated ()的区别
- 将图片保存到本地相册
- Java_log2000_IO1
- logback 中文手册
- java poi实现数据库数据导出到excel
- http请求