mybatisPlus(简称MP)是基于mybatis框架上开发的增强型工具提供效率。

想要运用mybatisPuls需要在pom文件中添加依赖:

com.baomidoumybatis-plus-boot-starter3.4.1

对数据层的增强:

package com.example.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.pojo.book;import org.apache.ibatis.annotations.Mapper;@Mapperpublic interface bookDao extends BaseMapper {}

在继承的baseMapper类中已经写好了我们需要的增删改查的各种方法。但是我们需要指定我们要进行操作的实体类对象的范型。

下面是对baseMapper类中增删改查的各种方法的测试:

按大小关系条件查询:

方式一:

@Testpublic void test(){ QueryWrapper wrapper=new QueryWrapper(); wrapper.lt("id",10); //查询id小于10的 List books = userDao.selectList(wrapper); System.out.println(books);}

方式二:lambda格式条件查询,解决了wrapper.lt(“”, )中条件的属性名写错时把不报错的问题。

 @Testpublic void test(){QueryWrapper wrapper=new QueryWrapper();//<是小于,查询id小于6的wrapper.lambda().lt(book::getId,6);List books = userDao.selectList(wrapper);System.out.println(books);}

该方式QueryWrapper必须指用范型.

方式三:lambda格式条件查询,简化了wrapper.lambda()

LambdaQueryWrapper lqw=new LambdaQueryWrapper();lqw.lt(book::getId,6);List books = userDao.selectList(lqw);System.out.println(books);

多条件查询:

LambdaQueryWrapper lqw=new LambdaQueryWrapper();//多条件and关系lqw.lt(book::getId,6).gt(book::getId,1);//id值小于6且大于1的//多条件or关系lqw.lt(book::getId,3).or().gt(book::getId,5);//id值小于3或者大于5的List books = userDao.selectList(lqw);System.out.println(books);

查询字段:只查询表中的特定几列

方法一:

LambdaQueryWrapper lqw=new LambdaQueryWrapper();lqw.select(book::getId,book::getName); //只查询表中的这俩列List books = userDao.selectList(lqw);

方法二:

QueryWrapper wrapper=new QueryWrapper();wrapper.select("id","name");List books = userDao.selectList(wrapper);

查询信息数目并进行分组:

QueryWrapper wrapper=new QueryWrapper();wrapper.select("count(*) as count","type");//分组wrapper.groupBy("type");List<Map> books = userDao.selectMaps(wrapper);System.out.println(books);

根据book表中type属性查询数目并进行分组。

做登陆系统时的条件查询:

LambdaQueryWrapper wrapper=new LambdaQueryWrapper();wrapper.eq(book::getId,11).eq(book::getType,"2");book book = userDao.selectOne(wrapper);System.out.println(book);

只有在表中的有id为11的同时type属性为2的信息才会被查询到。

模糊查询:like

LambdaQueryWrapper lqw=new LambdaQueryWrapper();lqw.like(book::getType,"spring");List books = userDao.selectList(lqw);System.out.println(books);

查询type字段中包含spring的所有信息。

删除多条数据:根据id删除

List list=new ArrayList();list.add(20);list.add(11);userDao.deleteBatchIds(list);