不洗碗工作室学习进度表(第一阶段)——MybatisPlus

标准数据层开发:

        添加依赖:

        

idea未收录关于mybatis的配置

设置jdbc参数

定义数据接口,继承BaseMapper<实体类的类名>

简介lombok:

依赖:

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.18.12</version>

</dependency>

分页:

        标准分页制作:

需要提前准备一个mybatis的拦截器作为bean

publicclass MpConfig{

@Bean

public MybatisPlusInterceptor mpInterceptor(){

//1.定义Mp拦截器

MybatisPlusInterceptormpInterceptor = new MybatisPlusInterceptor();

//2.添加具体的拦截器

mpInterceptor.addInnerInterceptor (new PaginationInnerInterceptor());

returnmpInterceptor;

}

}

voidtestGetByPage(){

//IPage对象封装了分页操作相关的数据

Ipage page=new Page(2,3);//当前显示第二页,每页放三条数据

userDao.selectPage(page,null);//null处本应该存放查询条件,但此时没有条件

}

 查询:

        查询条件:

        

eq:等于

ne:不等于

gt:大于

ge:大于等于

lt:小于

le:小于等于

like:模糊查询(like(“name”,“jo”)-->查询name字段包含“jo”的数据

in:IN查询条件 In("status", 1, 2, 3) // 查询status字段值为1、2或3的记录

isNull:空值查询

isNotNull:非空值查询

between:区间查询

orderByAsc:升序排序条件 

orderByAsc("create_time") // 按照create_time字段进行升序排序

orderByDesc:降序排序条件。

orderByDesc("create_time") // 按照create_time字段进行降序排序

        查询格式(支持链式编程)

        null值处理:

 选择有三个参数的方法做null值处理

省去了写ifelse的不便

增强了代码 可读性

查询投影(查询的字段控制):

DQL编程控制:

        字段映射与表名映射:

问题:表字段与编码属性设计不同步

使用@TableField 添加映射

@TableField(value“pwd”)

private String password;

此时表字段pwd就与属性password形成映射

问题:编码属性在表字段中不存在

表示这个属性仅在编码中使用

问题:有些属性不想被展示

select=false即可不被展示

问题:表名与编码开发设计不同步

建立类与表名的映射

DML:

id生成策略:

使用注解:@TableId(type = IdType.类型)

多条数据同时查询/删除:

deleteBatchIds(list集合)

selectBatchIds(list集合)

逻辑删除:

将废弃数据标记

标记为逻辑删除字段

@Tablelogic(value = "0",deval = "1" )

value表示未删除时的值,deval代表被删除的值

乐观锁:

用于解决秒杀问题

经典秒杀问题<2000访问量/s

1.创建乐观锁拦截器

2.在数据库中加入标记字段

3.加上在编程属性加上@Version

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值