MyBatis-Plus深入

本文详细介绍了MyBatis-Plus的ActiveRecord模式,包括如何使用、主键查询、更新和删除操作。同时,文章讲解了Oracle主键Sequence的配置,以及MyBatis的插件机制,如执行分析插件和乐观锁插件的应用。此外,还涉及了Sql注入器、自动填充功能、逻辑删除、通用枚举和代码生成器的使用方法。
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值