MybatisPlus CRUD和分页

一、初识 Mybatis plus常用注解

@TableName 用于定义表名

@TableId 用于定义表的主键

属性

value 用于定义主键字段名

type 用于定义主键类型(主键策略 IdType)

主键策略

IdType.AUTO          主键自增,系统分配,不需要手动输入

IdType.NONE          未设置主键

IdType.INPUT         需要自己输入 主键值

IdType.ASSIGN_ID     系统分配 ID,用于数值型数据(Long,对应 mysql 中 BIGINT 类型)

IdType.ASSIGN_UUID   系统分配 UUID,用于字符串型数据(String,对应 mysql 中 varchar(32) 类型)

@TableField 用于定义表的非主键字段

属性

value 用于定义非主键字段名,用于别名匹配,假如java对象属性和数据库属性不一样

exist 用于指明是否为数据表的字段, true 表示是,false 为不是,假如某个java属性在数据库没对应的字段则要标记为faslse

fill 用于指定字段填充策略(FieldFill,用的不多)

  字段填充策略:一般用于填充 创建时间、修改时间等字段

  FieldFill.DEFAULT         默认不填充

  FieldFill.INSERT          插入时填充

  FieldFill.UPDATE          更新时填充

  FieldFill.INSERT_UPDATE   插入、更新时填充。

测试:

 

 如果没有这个字段,测试时发生异常:

 解决:

 

二、案例实战 Mybatis Plus CRUD测试用例编写

删除

  1. 根据id删除

 

 2.条件删除

   更新

  1. queryWrapper更新操作

2.updateWrapper更新操作

 

核心查询条件类QueryWrapper的比较API讲解

QueryWrapper介绍

可以封装sql对象,包括where条件,order by排序,select哪些字段等等

查询包装类,可以封装多数查询条件,泛型指定返回的实体类

List<BannerDO> list = bannerMapper.selectList(new QueryWrapper<BannerDO>());

核心API

eq 等于

ne 不等于

gt 大于

ge 大于等于

lt 小于

le 小于等于

or 拼接or

between 两个值中间

notBetween 不在两个值中间

 

 

QueryWrapper的模糊查询和其他API讲解

QueryWrapper介绍(基于上集)

可以封装sql对象,包括where条件,order by排序,select哪些字段等等

查询包装类,可以封装多数查询条件,泛型指定返回的实体类

List<BannerDO> list = bannerMapper.selectList(new QueryWrapper<BannerDO>());

核心API

like 模糊匹配

notLike 不像

likeLeft 左匹配

likeRight 右边匹配

isNull 字段为空

in in查询

groupBy 分组

orderByAsc 升序

orderByDesc 降序

having having查询

 分组和排序

三、MybatisPlus插件配置案例实战之分页插件

  1. 项目配置分页

 

package net.hlx.shop0907.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @ClassName: MybatisPlusPageConfig
 * @Description: TODO
 * @Author: HLX
 * @date: 2021/9/8 15:41
 * @Version: V1.0
 */
@Configuration  //spring注解配置扫描
public class MybatisPlusPageConfig {

    /**
     * 旧版配置,已过期了!
     * @return
     */
//    @Bean
//    public PaginationInterceptor paginationInterceptor(){
//        return new PaginationInterceptor();
//    }

    /**
     * 新版配置,分页插件
     * @return
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        //拦截器对象
        MybatisPlusInterceptor interceptor=new MybatisPlusInterceptor();
        //添加拦截器(数据库MYSQL)
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

 2.测试分页


   /**
    * 查询分页
    */
   @Test
   public void testPage(){
      //查询条件
//    QueryWrapper queryWrapper= new QueryWrapper();
//    queryWrapper.like("url","http");

      //第一个参数:第几页,第二个参数:每页显示的条数
      Page<BannerDO> page=new Page<>(3,2);
      //调用分页方法
      IPage<BannerDO> ipage=baseMapper.selectPage(page,null);
      log.info("总页数:{}",ipage.getPages());
      log.info("总条数:{}",ipage.getTotal());
      log.info("当前第{}页", ipage.getCurrent());
      log.info("数据:{}", ipage.getRecords());

   }

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值