千家信息网

MyBatis-Plus如何实现普通查询

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,这篇文章主要介绍了MyBatis-Plus如何实现普通查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、创建User表User 表
千家信息网最后更新 2024年09月30日MyBatis-Plus如何实现普通查询

这篇文章主要介绍了MyBatis-Plus如何实现普通查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、创建User表

User 表结构如下:

idnameageemail
1Jone18test1@baomidou.com
2Jack20test2@baomidou.com
3Tom28test3@baomidou.com
4Sandy21test4@baomidou.com
5Billie24test5@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

userMapper.selectBatchIds(idsList);

对应的SQL语句为

SELECT id,name,age,email FROM user WHERE id IN ( ? , ? , ? )

查询结果,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安全错误 数据库的锁怎样保障安全 加大青少年网络安全教育 训练场怎么换服务器 mysql 数据库端口连接 软件开发如何提高员工质量意识 图书借阅数据库视图与索引 将军网络技术有限公司 国家网络安全的部门 形式化软件开发方法 属于WEB服务器的安全措 软件开发未来学习计划 提交前后对数据库的影响 显示数据库表内容 计算机应用技术数据库实验报告 河南调度服务器挂式云主机 易探云服务器淘宝挂千牛怎么使用 网络安全基础书单 网络技术mbi是什么意思 中国网络总服务器 安卓移动软件开发计算器 专科生自学软件开发 计算机服务器的配置是什么 辽宁大型软件开发诚信经营 计算机网络技术的发展及展望 节点 服务器 集群区别 移动学习软件开发工具 creator数据库 数据库应用技术第二版第一章重点 所有新建数据库表在哪里看 达梦查看数据库字符集 为什么进游戏总是断开服务器
0