MybatisPlus

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

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

XML 复制代码
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>

对数据层的增强:

java 复制代码
package com.example.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.pojo.book;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface bookDao extends BaseMapper<book> {
}

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

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

按大小关系条件查询:

方式一:

java 复制代码
@Test
    public void test(){
       QueryWrapper wrapper=new QueryWrapper();
       wrapper.lt("id",10); //查询id小于10的
       List<book> books = userDao.selectList(wrapper);
       System.out.println(books);
}

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

java 复制代码
 @Test
    public void test(){        
        QueryWrapper<book> wrapper=new QueryWrapper<book>();
        //&lt;是小于<, &gt;是大于>,查询id小于6的
        wrapper.lambda().lt(book::getId,6);
        List<book> books = userDao.selectList(wrapper);
        System.out.println(books);
}

该方式QueryWrapper必须指用范型.

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

java 复制代码
        LambdaQueryWrapper<book> lqw=new LambdaQueryWrapper<book>();
        lqw.lt(book::getId,6);
        List<book> books = userDao.selectList(lqw);
        System.out.println(books);

多条件查询:

java 复制代码
        LambdaQueryWrapper<book> lqw=new LambdaQueryWrapper<book>();
        //多条件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<book> books = userDao.selectList(lqw);
        System.out.println(books);

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

方法一:

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

方法二:

java 复制代码
        QueryWrapper<book> wrapper=new QueryWrapper<book>();
        wrapper.select("id","name");
        List<book> books = userDao.selectList(wrapper);

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

java 复制代码
        QueryWrapper<book> wrapper=new QueryWrapper<book>();
        wrapper.select("count(*) as count","type");
        //分组
        wrapper.groupBy("type");
        List<Map<String, Object>> books = userDao.selectMaps(wrapper);
        System.out.println(books);

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

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

java 复制代码
        LambdaQueryWrapper<book> wrapper=new LambdaQueryWrapper<book>();
        wrapper.eq(book::getId,11).eq(book::getType,"2");
        book book = userDao.selectOne(wrapper);
        System.out.println(book);

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

模糊查询:like

java 复制代码
        LambdaQueryWrapper<book> lqw=new LambdaQueryWrapper<book>();
        lqw.like(book::getType,"spring");
        List<book> books = userDao.selectList(lqw);
        System.out.println(books);

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

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

java 复制代码
        List<Integer> list=new ArrayList();
        list.add(20);
        list.add(11);
        userDao.deleteBatchIds(list);
相关推荐
weixin_440784114 小时前
【HandlerThread实现原理】
android·java·开发语言
毛驴赶鹿4 小时前
【金仓数据库征文】KES V9性能调优实战记录:从慢SQL排查到全链路优化
数据库·sql
leoZ2314 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
码农阿豪4 小时前
【金仓数据库征文】Mac开发环境|SpringBoot3 + MyBatisPlus对接KES V9 Docker实战全指南
数据库·macos·docker
杨云龙UP4 小时前
MySQL 数据库常用备份工具对比:mysqldump、mydumper 与 XtraBackup
linux·运维·服务器·数据库·mysql·dba·备份恢复
ZENERGY-众壹4 小时前
500个工商业电站压垮数据库?海量光伏时序数据存储的架构取舍
数据库·架构·influxdb·光伏·光伏运维
mubei-1235 小时前
SpringDAO的用法
java·开发语言·数据库
happymagic5 小时前
java spring boot做的jar包程序,如何实现自动运行启动
java·运维·服务器·spring boot·jar
Dr.kangder6 小时前
嵌入式处理器仿真技术——Hypervisor 原理与实践
服务器·嵌入式硬件·架构·嵌入式
星蓝_starblue8 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it