Mybatis—Puls快速入门二(基本操作)

本文介绍了Mybatis-Plus的快速入门,包括如何开启SQL日志打印、新增操作(重点讨论主键策略如雪花算法和自增策略)、修改操作、条件查询(包括批量查询、分页查询)以及删除操作(按ID、批量和条件删除)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis—Puls快速入门二(基本操作)

1.开启sql日志打印的两种方式 在application.yml 中配置

1.第一种方式

image-20210312091934526

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志

2.第二种方式

image-20210312092340845

logging:
  level:
    com.shengjiahao.boot.mapper : debug #配置这个包的日志级别是debuglogging:
  level:
    com.chz.mapper: debug

2. 新增操作

调用 userMapper中的insert方法 传入赋值了的对象 打印出 updatas:1就说明 这个操作对数据库中的user表新增了一条数据

image-20210312093543222

查看数据库

image-20210312093834372

1.重点:主键策略

在上面的新增操作赋值的时候我并没有对id 赋值 但是 在控制的打印中 和数据库中 都发现了 id 在新增的时候也是有值的 这是因为 mybatis-plus 这个框架自带了一个主键的策略 mybatis-plus 默认的主键策略是:ASSIGN_ID (使用了雪花算法) 雪花算法是由Twitter公布的分布式主键生成算法,它能够保证不同表的主键的不重复性,以及相同表的主键的有序性

image-20210312094344115

1.雪花算法核心思想:

长度共64bit(一个long型)。

首先是一个符号位,1bit标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0。

41bit时间截(毫秒级),存储的是时间截的差值(当前时间截 - 开始时间截),结果约等于69.73年。

10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID,可以部署在1024个节点)。

12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID)

image-20210312094537585

2.Auto 自增策略

​ 实体字段中配置 @TableId(type = IdType.AUTO)

3.全局设置主键生成策略
#全局设置主键生成策略
mybatis-plus:
  global-config:
    db-config:
      id-type: auto

3.修改操作

​ 调用方法 传入被修改的id 和需要修改的内容

image-20210312100023164

4.条件查询

1.多个id的批量查询

批量查询 调用 selectBatchIds 方法 参数是Collection

Arrays.asList(1, 2, 3) 是将数组转换为集合

image-20210312101019815

2.条件查询

​ 使用map集合封装 字段 和参数

image-20210312101840716

3.分页查询

1.需要在容器中添加分页的插件

​ 创建配置类 在配置类中注入分页的插件

image-20210312103940178

/**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

编写代码测试

image-20210312104216669

控制台打印

image-20210312104247840

5.删除

1.根据id删除image-20210312105300282
2.批量删除

image-20210312105456548

3.条件删除

image-20210312105913283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值