MyBatis-Plus如何实现普通查询
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章主要介绍了MyBatis-Plus如何实现普通查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、创建User表User 表
千家信息网最后更新 2025年02月07日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安全错误
数据库的锁怎样保障安全
不同服务器的金币能买时光徽章吗
怎么用脚本做数据库
服务器管理口怎么识别
服务器绑定域名不生效
福建服务器机房现货云空间
互联网代表性科技
无线网络安全的基本业务是什么
网络安全秘钥怎么改
佛山照明网络安全建设项目
恩商网络技术有限公司
网络安全宣传周是在几月
数据库加锁解锁
smb服务器搭建
山东淄博网络安全倡议书
ntp授时服务器软件
数据库结构原理图解
数据库三大成就
软件开发需求变化与调整措施
v31230v2适合开服务器嘛
apex服务器实力排行
ssm根据条件导入数据库
网络安全 国企
境外服务器出租打击
西安国内软件开发公司排行
广电网络安全机房建议
怎样找到app软件开发商
热力学数据库的评估方法
docker聊天服务器
广西服务器机柜价格
网易我的世界服务器卡在加载界面