文章目录

环境准备⭐导入依赖⭐写入User类⭐配置启动类⭐创建UserDao 的 MyBatis Mapper 接口,用于定义数据库访问操作⭐创建配置文件创建测试类MpATest.java

范围查询⭐eq⭐between⭐gt

模糊匹配⭐like

分组查询更多查询条件

环境准备

搭建好配置环境后,创建这几个包和类

准备数据库和表

⭐导入依赖

pom.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.0

com.example

MybatisPlusDemo

1.0-SNAPSHOT

1.8

com.baomidou

mybatis-plus-boot-starter

3.4.1

org.springframework.boot

spring-boot-starter

3.1.2

com.alibaba

druid

1.1.16

mysql

mysql-connector-java

runtime

8.0.25

org.springframework.boot

spring-boot-starter-test

3.1.4

test

org.projectlombok

lombok

1.18.12

org.springframework.boot

spring-boot-maven-plugin

org.apache.maven.plugins

maven-compiler-plugin

8

8

⭐写入User类

User.java

注意要和数据库表中的数据对应

package com.example.domain;

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

@Data

@TableName("tb_abc1") //数据库表名

public class User {

private Integer id;

private String name;

private Integer money;

}

⭐配置启动类

MybatisplusApplication.java

注意是启动springboot的类,我们测试的时候使用test进行测试,在运行该应用程序时,Spring Boot 会扫描并加载该类,并自动配置 MyBatisPlus 相关的组件,根据注解中的配置信息进行自动装配。

package com.example;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class MybatisplusApplication {

public static void main(String[] args) {

SpringApplication.run(MybatisplusApplication.class,args);

}

}

⭐创建UserDao 的 MyBatis Mapper 接口,用于定义数据库访问操作

该接口继承 BaseMapper 接口,表示它是一个基于 MyBatis Plus 框架的 Mapper 接口。在这个示例中,由于 User 类已经使用注解标注了 @TableName(“user”),因此这里可以直接使用 User 类作为泛型参数。 通过定义这样的 Mapper 接口,我们可以更加方便地使用 MyBatis 进行数据库的增删改查等操作。同时,MyBatis Plus 提供的基础 Mapper 接口还内置了许多常见的数据库操作方法,如插入、更新、查询等方法,可以帮助我们更加高效地进行数据库相关操作。

package com.example.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.example.domain.User;

import org.apache.ibatis.annotations.Mapper;

@Mapper

public interface UserDao extends BaseMapper {

}

⭐创建配置文件

在resources里面创建application.yml

# dataSource

spring:

datasource:

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://localhost:3306/abc?serviceTimezone=Asia/Shanghai

username: root

password: 1234

main:

banner-mode: off

# mp日志

mybatis-plus:

configuration:

log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

global-config:

banner: false

在resources里面创建logback.xml

减少控制台对于的代码,使控制台打印的东西看起来更加清爽

创建测试类MpATest.java

下面我们写入代码来展示测试类的测试效果

范围查询

⭐eq

等于

package com.example;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

import com.example.dao.UserDao;

import com.example.domain.User;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest

public class MpATest {

@Autowired

private UserDao userDao;

@Test

void testGetAll(){

//相当于一个登录操作

LambdaQueryWrapper lqw=new LambdaQueryWrapper();

//等同于=

lqw.eq(User::getName,"张三").eq(User::getId,'1');

//这里查询一个对象,使用selectone就行了

User loginUser=userDao.selectOne(lqw);

System.out.println(loginUser);

}

}

⭐between

在什么什么之间

package com.example;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

import com.example.dao.UserDao;

import com.example.domain.User;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest

public class MpATest {

@Autowired

private UserDao userDao;

@Test

void testGetAll(){

LambdaQueryWrapper lqw=new LambdaQueryWrapper();

//between

lqw.between(User::getId,0,1);

List userList=userDao.selectList(lqw);

System.out.println(userList);

}

}

⭐gt

大于

package com.example;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

import com.example.dao.UserDao;

import com.example.domain.User;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest

public class MpATest {

@Autowired

private UserDao userDao;

@Test

void testGetAll(){

LambdaQueryWrapper lqw=new LambdaQueryWrapper();

//gt

lqw.gt(User::getId,1);

List userList=userDao.selectList(lqw);

System.out.println(userList);

}

}

gt 和 lt ,它们分别代表了“大于”和“小于”的含义 le 和 ge ,它们分别代表了“小于等于”和“大于等于”的含义

模糊匹配

⭐like

类似于mysql里面的like操作

package com.example;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

import com.example.dao.UserDao;

import com.example.domain.User;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest

public class MpATest {

@Autowired

private UserDao userDao;

@Test

void testGetAll(){

LambdaQueryWrapper lqw=new LambdaQueryWrapper();

//like

lqw.like(User::getMoney,"2");

List userList=userDao.selectList(lqw);

System.out.println(userList);

}

}

还有likeRight,likeLeft likeRight,类似于MySQL的 like% likeLeft,类似于MySQL的 %like

分组查询

分组查询聚合函数

package com.example;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

import com.example.dao.UserDao;

import com.example.domain.User;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest

public class MpATest {

@Autowired

private UserDao userDao;

@Test

void testGetAll(){

QueryWrapper qw=new QueryWrapper();

qw.select("id","count(*) as nums");

qw.groupBy("id");

List> maps=userDao.selectMaps(qw);

System.out.println(maps);

}

}

更多查询条件

更多查询条件请看https://mybatis.plus/guide/wrapper.html#abstractwrapper

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: