查询操作:

1、根据id查询一条记录

@Test
void testSelectById() {// 查询单个用户,只根据一个id查询UserEntity userEntity = userMapper.selectById(16);System.out.println(userEntity);
}

2、批量查询,根据id集合查询多条记录

@Test
void testSelectBatchIds() {// 查询多个用户,根据多个id查询,方法参数是一个id集合List<UserEntity> userList = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));userList.forEach(System.out::println);
}

3、条件查询 之ByMap

@Test
void testSelectByMap() {// 按条件查询,参数是一个map,一般适合简单的条件查询// 先设置好条件,例如:查询name为Jone,age为18的用户Map<String, Object> map = new HashMap<>();map.put("name", "Jone");map.put("age", 18);List<UserEntity> userList = userMapper.selectByMap(map);userList.forEach(System.out::println);
}

4、分页查询

传统的分页查询:limit x, y
第三方分页插件pageHelper等。
其实MybatisPlus中也内置了分页查询。

第一步:在上次配置类内中注册分页插件

@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {// 注册乐观锁插件@Beanpublic OptimisticLockerInterceptor optimisticLockerInnerInterceptor() {return new OptimisticLockerInterceptor();}// 注册分页插件@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false// paginationInterceptor.setOverflow(false);// 设置最大单页限制数量,默认 500 条,-1 不受限制// paginationInterceptor.setLimit(500);// 开启 count 的 join 优化,只针对部分 left joinpaginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));return paginationInterceptor;}
}

5、Page类中属性的含义

records 用来存放查询出来的数据。

total 返回记录的总数。

size 每页显示条数,默认 10。

current 当前页,默认1。

orders 排序字段信息。

optimizeCountSql 自动优化 COUNT SQL,默认true。

isSearchCount 是否进行 count 查询,默认true。

hitCount 是否命中count缓存,默认false。


6、测试程序

@Test
void testSelectPage() {// 一般需要前端传入2个参数,参数一:第几页,参数二:每页多少条记录,这里假设第1页,每页5条记录Page<UserEntity> page = new Page<>(1, 5);userMapper.selectPage(page, null);// 第二个参数是Wrapper。高级条件查询,下篇再说,先传nullList<UserEntity> userList = page.getRecords();userList.forEach(System.out::println);
}

MybatisPlus中的select操作相关推荐

  1. MybatisPlus中的insert操作

    insert操作: 在测试之前,我们思考一个问题,上个入门案例中,我们什么sql语句代码都没写,但也能查询出来数据. 是谁帮我们做了写基本代码的事情?肯定是MybatisPlus. 为了验证并继续向下 ...

  2. MybatisPlus中的update操作

    更新操作: 项目准备继上篇. 测试代码: @Testvoid testUpdate() {UserEntity userEntity = userMapper.selectById(6);System ...

  3. MyBatisPlus 中 基于 IService操作数据库的常用函数

    添加数据 添加单条数据 boolean save(T entity); 示例代码: /*** 新增地址薄数据* 请求地址:http://localhost:8080/addressBook* 请求方式 ...

  4. golang基础-chan的select操作、定时器操作、超时控制、goroutine中使用recover

    chan的只读和只写 a.只读chan的声明 Var 变量的名字 <-chan int Var readChan <- chan int b. 只写chan的声明 Var 变量的名字 ch ...

  5. jquery中select操作append、prepend、remove、find、val、get、selectedIndex、attr、option

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程2-DOM操作全解 jquery中select操作 jquery中select操作函数和字段包括append.prepend.remove.fi ...

  6. Mybatis-Plus中的查(select)和 Wrapper条件构造器-详解 V2.0

    V1.0 已更新为 V-2.0  传送门→ (V-2.0)Mybatis-Plus中的查(select)和QueryWrapper条件构造器​​​​​​​ 前言 本文介绍 mybatis-plus 中 ...

  7. MybatisPlus中基本的CRUD操作

    CRUD 的操作是来自BaseMapper 中的方法.BaseMapper 中共有 17 个方法,CRUD操作都有多个不同参数的方法.继承BaseMapper可以其中的方法.BaseMapper 方法 ...

  8. MybatisPlus中@TableField注解的使用

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37194 基础搭建: https://blog.csdn.net/B ...

  9. Mybatis-plus中QueryWrapper的使用

    一.QueryWrapper是什么? QueryWrapper就是在使用Mybatis-plus中真实用到的一种技术,也叫作构造器,能简化sql的操作. 二.常用方法总结 1.单表操作 代码如下(示例 ...

最新文章

  1. 发现一款3D 打印的pcDuino外壳
  2. 背包问题教程-01背包,完全背包,多重背包,混合背包 收藏
  3. python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
  4. python在线投票系统 统计票数_python投票统计程序,统计序列中各个数值的份数,字典的应用。...
  5. Vue2.0通过二级路由实现页面切换
  6. Softmax(假神经网络)与词向量的训练
  7. 【测试】测试用例8大法
  8. Snabbdom(虚拟dom)
  9. js/jQuery中的宽高
  10. TCP/IP原理浅析
  11. 【深度学习小知识】ROI到ROI pooling 再到ROI Align
  12. Java 添加、读取、删除PPT文档属性
  13. 苹果退款_苹果 App Store 里自动订阅续费的应用可以退款吗?
  14. 学游戏原画都需要掌握哪些软件
  15. ui设计师需要学哪些软件
  16. 考研机试真题--素数--北京航空航天大学
  17. 怎么把视频里的音乐提取成音频?
  18. 用程序的思想浅谈优化福州一中发书
  19. WPS表格简单入门_我的笔记_公式使用和编辑名称_名称管理器
  20. Magicodes.IE之Excel模板导出教材订购表

热门文章

  1. 交行android平板,惠普compaq7j平板怎么样 | 惠普compaq7j平板好吗_什么值得买
  2. 刷脸支付风口上的项目市场很大蛋糕很大
  3. 深度强化学习的芯片布局
  4. 2017技术人成长交流会
  5. 蜚声国际的烹饪名厨们会选在哪开设食府?
  6. C# windows应用程序打包 (VS2010+SQL Server 2008)
  7. 基于COMSOL多物理场耦合仿真建模方法研究
  8. android 酷狗代码,广州酷狗计算机科技在线测评题 Android岗位(示例代码)
  9. 保姆级教程:在Linux上安装配置Resilio Sync
  10. 中等计算机的配置,2018玩游戏的电脑配置 i3-8100配GTX1050Ti吃鸡中等特效电脑配置(2)...