MyBatis-Plus如何实现普通查询
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,这篇文章主要介绍了MyBatis-Plus如何实现普通查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、创建User表User 表
千家信息网最后更新 2025年12月04日MyBatis-Plus如何实现普通查询
这篇文章主要介绍了MyBatis-Plus如何实现普通查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一、创建User表
User 表结构如下:
| id | name | age | |
|---|---|---|---|
| 1 | Jone | 18 | test1@baomidou.com |
| 2 | Jack | 20 | test2@baomidou.com |
| 3 | Tom | 28 | test3@baomidou.com |
| 4 | Sandy | 21 | test4@baomidou.com |
| 5 | Billie | 24 | test5@baomidou.com |
其对应的数据库 Schema 脚本如下:
DROP TABLE IF EXISTS user;
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
其对应的数据库 Data 脚本如下:
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');回到顶部
二、创建基础类
2.1 User 类

1 package com.example.demo.entity;
2
3 import lombok.Data;
4
5 @Data
6 public class User {
7 private Long id;
8 private String name;
9 private Integer age;
10 private String email;
11 }
2.2 创建UserMapper接口,继承 MyBatis Plus BaseMapper接口

1 package com.example.demo.mapper;
2
3 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 import com.example.demo.entity.User;
5
6 public interface UserMapper extends BaseMapper {
7 } 
回到顶部
三、查询方法
3.1 单表查询所有记录 selectList

1 /*
2 * 描述:单表查询所有记录
3 * 作者:博客园-悟空聊架构
4 * 时间:2019-01-16
5 * Github:https://github.com/Jackson0714/study-mybatis-plus.git
6 * 博客园:https://www.cnblogs.com/jackson0714
7 * */
8 @Test
9 public void testSelect() {
10 System.out.println(("----- 单表查询所有记录------"));
11 List userList = userMapper.selectList(null);
12 Assert.assertEquals(6, userList.size()); //表里面的记录总条数是否等于6,如果等于6,则测试通过
13 userList.forEach(System.out::println);
14 } 
userMapper.selectList(null);
对应的SQL语句是:
SELECT id,name,age,email FROM user如果找不到这些日志,可以清理日志后,再执行一遍看下。
数据库有6条记录
查询出总条数6条,测试通过
3.2 单表根据主键id查询单条记录 selectById

1 /*
2 * 描述:单表根据主键id查询单条记录
3 * 作者:博客园-悟空聊架构
4 * 时间:2019-01-16
5 * Github:https://github.com/Jackson0714/study-mybatis-plus.git
6 * 博客园:https://www.cnblogs.com/jackson0714
7 * */
8 @Test
9 public void testSelectById() {
10 System.out.println(("----- 单表根据主键id查询单条记录 ------"));
11 User user = userMapper.selectById(2);
12 System.out.println(user);
13 }
1 userMapper.selectById(2)
2 对应的SQL语句为
3 SELECT id,name,age,email FROM user WHERE id=?数据库中有一条记录
3.3 单表根据 id list 批量查询 selectBatchIds

1 /*
2 * 描述:单表根据 id list 批量查询
3 * 作者:博客园-悟空聊架构
4 * 时间:2019-01-16
5 * Github:https://github.com/Jackson0714/study-mybatis-plus.git
6 * 博客园:https://www.cnblogs.com/jackson0714
7 * */
8 @Test
9 public void testSelectByIds() {
10 System.out.println(("----- 单表根据 id list 批量查询 ------"));
11 List idsList = Arrays.asList(2L,4L,6L);
12 List userList= userMapper.selectBatchIds(idsList);
13 userList.forEach(System.out::println);
14 } 
1 2 3 |
|
查询结果,id=2,id=4 的查询出来了,没有 id=6 的记录
3.4 单表根据条件查询 selectByMap

1 /*
2 * 描述:单表根据条件查询
3 * 作者:博客园-悟空聊架构
4 * 时间:2019-01-19
5 * Github:https://github.com/Jackson0714/study-mybatis-plus.git
6 * 博客园:https://www.cnblogs.com/jackson0714
7 * */
8 @Test
9 public void testSelectByMap() {
10 System.out.println(("----- 单表根据条件查询 ------"));
11 Map conditions = new HashMap<>();
12 conditions.put("name", "Jack");
13 conditions.put("age", 20);
14 List userList= userMapper.selectByMap(conditions);
15 userList.forEach(System.out::println);
16 } 
userMapper.selectByMap(conditions);
对应的SQL语句为
SELECT id,name,age,email FROM user WHERE name = ? AND age = ?数据库有一条记录,name="Jack",age=20
注意:使用slectByMap时,条件里面的字段名需要和数据库保持一致。
不然会出现以下错误:
感谢你能够认真阅读完这篇文章,希望小编分享的"MyBatis-Plus如何实现普通查询"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
查询
博客
数据
数据库
作者
时间
条件
架构
篇文章
语句
悟空
普通
接口
日志
脚本
顶部
测试
一致
价值
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国外网络安全事例
网游服务器
web前端和网络技术哪个好
毛晶玥网络安全教学
数据库应用基础魏茂林
sql配置数据库列表为空
虚拟服务器ip
对网络安全技术的认识
电信拨号服务器和端口怎么填
检查服务器配置什么意思
数据库中间件的作用
服务器管理华为惠普
软件开发资质对人员要求
web服务器一览表
数据库编程题关于查询
mysql数据库分类教程
服务器连接到移动互联网打开网页
存链表的数据库
网络安全教育500字作文
北京七渡河互联网科技有限公司
无线传感网络技术应用题
森林显示无法连接到内容服务器
数据库手机销售系统报告
软件开发怎么办
linux平板电脑做服务器
学软件开发推荐什么书
重庆服务器电源出售
逆战哪个服务器比较好
为什么铁锈战争进不了服务器
服务器装系统没找到硬盘驱动