Mybatis Plus深入
ActiveRecord
· ActiveRecord也属于ORM(对象关系映射)层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作,而且简洁易懂。
· ActiveRecord的主要思想是:
1. 每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field;
2. ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;;
3. ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑;
如何使用AR
· 在MP中,开启AR非常简单,只需要将实体对象继承Model即可
public class User extends Model<User>
根据主键查询
public void testAR() {
User user = new User(); user.setId(2L);
User user2 = user.selectById(); //直接进行查询
System.out.println(user2);
}
更新数据
public void testAR() {
User user = new User();
user.setName("刘备");
user.setAge(30);
user.setPassword("123456");
user.setUserName("liubei"); user.setEmail("liubei@itcast.cn");
boolean insert = user.insert();//查询是否插入数据
System.out.println(insert);
}
更新操作
public void testAR() {
User user = new User();
user.setId(8L); //查询条件
user.setAge(35); //更新的数据
boolean update = user.updateById();
System.out.println(update); }
删除操作
public void testAR() {
User user = new User();
user.setId(7L);
boolean delete = user.deleteById();
System.out.println(delete); }
根据条件查询
public void testAR() {
User user = new User(); QueryWrapper<User>
userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.le("age","20");
List<User> users = user.selectList(userQueryWrapper);
for (User user1 : users) {
System.out.println(user1);
}
Oracle 主键Sequence
· 在mysql中,主键往往是自增长的,这样使用起来是比较方便的,如果使用的是Oracle数据库,那么就不能使用自增长了,就得使用Sequence 序列生成id值了
部署Oracle环境
· 为了简化环境部署,这里使用Docker环境进行部署安装Oracle
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYxi4ddN-1646627908009)(C:\Users\maybe3032\AppData\Roaming\Typora\typora-user-images\image-20220306214745790.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9QQCTJ4O-1646627908010)(C:\Users\maybe3032\AppData\Roaming\Typora\typora-user-images\image-20220306214755428.png)]
· 使用navicat12进行连接并操作oracle
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEsqxxkN-1646627908011)(C:\Users\maybe3032\AppData\Roaming\Typora\typora-user-images\image-20220306214831712.png)]
创建表以及序列
--创建表,表名以及字段名都要大写
CREATE TABLE "TB_USER" (
"ID" NUMBER(20) VISIBLE NOT NULL ,
"USER_NAME" VARCHAR2(255 BYTE) VISIBLE ,
"PASSWORD" VARCHAR2(255 BYTE) VISIBLE ,
"NAME" VARCHAR2