自定义报错返回_MybatisPlus基础篇学习笔记(五)------自定义sql及分页查询

本章目录

  • 自定义sql
  • 分页查询

1. 自定义sql

在dao文件中编写自定义接口,并在方法上使用注解形式注入SQL,如图所示:

第一种:

6e1d4b62171c24cf74b3d4bd85094393.png

8e886da7a30b5e2f93e10999544a35a7.png

第二种

① application.yml加入下面配置

mybatis-plus:mapper-locations: com/ethan/mapper/*

② MemberMapper.java文件

public interface MemberMapper extends BaseMapper<Member> {List<Member> selectAllMembers(@Param(Constants.WRAPPER) Wrapper<Member> wrapper);
}

③ 新建MemberMapper.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ethan.dao.MemberMapper"><select id="selectAllMembers" resultType="com.ethan.entity.Member">select * from sys_member ${ew.customSqlSegment}</select>
</mapper>

注意select标签的id要与dao接口名称一致。

④ 代码中方法的调用跟第一种一样。

⑤ 如果出现报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ethan.dao.MemberMapper.selectAllMembers,在pom.xml文件中加入如下配置:

<build>      <resources>          <resource>               <directory>src/main/java</directory>               <includes>                   <include>**/*.xml</include>            </includes></resource></resources>
</build>

2. 分页查询

①MP提供的分页方法

首先进行分页插件配置,不配置分页插件,MP提供的分页方法会查全部,分页不生效。

09c2f6894be9f2a9ce6a64b63cb0f4df.png

下图演示了两种分页返回类型

第一种:以对象的形式输出每页的记录;第二种:以map集合的形式输出每页的记录。

在控制台中大家也能看到分页查询方法会执行两条sql,一条是查询总记录数,一条是查询每页数据;在有些场景中不需要查询总记录数的时候,IPage<Member> memberPage = new Page<>(1, 2,false)中第三个参数false为不查询总记录数,默认为true查询总记录数,可通过该参数进行设置。

88df45a486d529ec37c74d91f431ee94.png

②自定义分页方法

//  MemberMapper.java中添加自定义分页查询接口IPage<Member> selectMemberPage(IPage<Member> page, @Param(Constants.WRAPPER) Wrapper<Member> wrapper);
//  MemberMapper.xml中添加select语句
<select id="selectMemberPage" resultType="com.ethan.entity.Member">select * from sys_member ${ew.customSqlSegment}
</select>

使用自定的分页查询接口同样也会查询出来,跟MP提供的分页查询方法几乎一样。

759cd3071f3d086e965004a272a1e0cc.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精简jdk包_具有JDK 12精简数字格式的自定义精简数字模式

精简jdk包帖子“ 紧凑数字格式出现在JDK 12中 ”已经成为有关Java subreddit线程的讨论主题 。 在那个线程中表达的与紧凑数字格式表示有关的问题涉及显示的精度数字和显示的紧凑数字模式。 可以通过使用CompactNumberFormat.setMinimumFractionDigits(int)来解决精度数字问题&…

两个数相乘积一定比每个因数都大_人教版五年级数学:因数、倍数与分数的整理与复习...

写在前面的话&#xff1a;因数与倍数和分数基本性质之间存在紧密的联系&#xff0c;可以将之放在一起学习&#xff0c;对分数基本性质的学习有促进作用&#xff0c;分数的基本性质对分数的加法和减法也非常重要&#xff0c;因此可以放在一起学习、复习。【整理与复习】因数与倍…

Linux中在zsh下如何安装autojump

文章目录介绍安装介绍 autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line. Directories must be visited first before they can be jumped to. 关于 autojump 有以下几个…

fork join框架_Java中的Fork / Join框架的简要概述

fork join框架Fork / Join框架是使用并发分治法解决问题的框架。 引入它们是为了补充现有的并发API。 在介绍它们之前&#xff0c;现有的ExecutorService实现是运行异步任务的流行选择&#xff0c;但是当任务同质且独立时&#xff0c;它们会发挥最佳作用。 运行依赖的任务并使用…

3模型大小_Github推荐一个国内牛人开发的超轻量级通用人脸检测模型

Ultra-Light-Fast-Generic-Face-Detector-1MB1MB轻量级通用人脸检测模型作者表示该模型设计是为了边缘计算设备以及低功耗设备&#xff08;如arm&#xff09;设计的实时超轻量级通用人脸检测模型。它可以用于arm等低功耗计算设备&#xff0c;实现实时的通用场景人脸。检测推理同…

macOS如何使用命令启动服务/停止服务/查看服务

文章目录开启服务停止服务查看服务是否启动开启服务 使用命令开启 sshd 服务&#xff1a; $ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist注&#xff1a;成功启动不会有任何输出 停止服务 $ sudo launchctl unload -w /System/Library/LaunchDaemons/s…

如何在用例之间传递值_如何从0搭建自己的自动化测试体系

大家好&#xff0c;我是爱吃面条&#xff0c;今天给大家讲讲如何从0搭建自己的自动化测试体系1. 需求和目标在我开展自动化测试之前&#xff0c;其实该项目以前的测试人员也已经写了很多的接口测试用例&#xff0c;但是大多数用例处于“半瘫痪”状态&#xff0c;在CI上无人维护…

envoy api 网关_为Envoy构建控制平面的指南-特定于域的配置API

envoy api 网关建立您的控制平面交互点和API表面 一旦考虑了哪些组件可能构成控制平面体系结构&#xff08;请参见上一章&#xff09;&#xff0c;您将要确切考虑用户将如何与控制平面进行交互&#xff0c;甚至更重要的是&#xff0c; 用户将是谁&#xff1f; 要回答这个问题&a…

异步非阻塞_细说同步异步、阻塞非阻塞

同步、异步同步、异步分别指的是一种通讯方式&#xff0c;当 cpu 不需要执行线程上下文切换就能完成任务&#xff0c;此时便认为这种通讯方式是同步的&#xff0c;相对的如果存在cpu 上下文切换&#xff0c;这种方式便是异步。这里通过一个去食堂打饭的示例来理解什么是同步、异…

如何将网页部署到maven_如何通过Rultor将Maven工件部署到CloudRepo

如何将网页部署到maven在我以前的文章中 &#xff0c;我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署。 如果您熟悉管理Amazon Web Services&#xff08;AWS&#xff09;&#xff0c; S3和AWS Identity and Access Management&#xff08;IAM&#xff09;的…

macOS下如何使用命令启动数据库/停止数据库/重启数据库(MySQL)

文章目录启动数据库手动启动数据库自启动数据库查看数据库服务是否启动重启数据库服务停止数据库服务注意使用 sudo 执行命令会报错&#xff0c;所以不要使用 sudo&#xff1a; sudo mysql.server start . ERROR! The server quit without updating PID file (/usr/local/var/…

table 多行 宽度不一致_layui table 中固定列的行高和table行高不一致

Pipe&lpar;点积叉积的应用POJ1039&rpar;Pipe Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9723 Accepted: 2964 Description ...cocos2d-x之CCMotionStreak类&mdash&semi;&mdash&semi;2013-08-25 16在游戏的实现过程中,有时会需要…

java rest框架_比较Java REST文档框架

java rest框架决定在记录REST API时选择哪种Java框架可能很麻烦。 在本博文中&#xff0c;我们将简要比较我们自己使用的REST Web服务的三个文档框架&#xff0c;以及它们如何与Spring框架&#xff08;这是Foreach中最常用的Java框架&#xff09;集成。 这些是RESTful API建模语…

数据库的事务学习

文章目录事务四大特征多事务并发存在的问题事务隔离级别查询数据库的隔离级别设置数据库隔离级别1.事务里面的语句出错时并不会主动回滚&#xff0c;需要用户主动执行回滚指令 2.事务开始后&#xff0c;如果没有主动执行回滚或者提交指令&#xff0c;事务始终在执行中 3.事务执…

注解动态赋值_Java注解是如何玩转的,面试官和我聊了半个小时

作者&#xff1a;wind瑞 来自&#xff1a;JavaQ面试官&#xff1a;自定义的Java注解是如何生效的&#xff1f; 小白&#xff1a;自定义注解后&#xff0c;需要定义这个注解的注解解析及处理器&#xff0c;在这个注解解析及处理器的内部&#xff0c;通过反射使用Class、Method、…

阿里云服务器如何创建快照备份数据

文章目录创建快照快照收费你申请了阿里云服务器&#xff0c;其实就是申请了一个云盘&#xff0c;这个云盘安装了操作系统&#xff0c;你可以远程访问这个系统并使用该系统。我们可以给云盘创建快照&#xff0c;从而达到备份服务器数据的目的。创建快照 快照收费 如果您计划不再…

shebang_Java 11:运行单文件程序和“ shebang”脚本

shebang在Java 11中&#xff0c;对java启动器进行了增强&#xff0c;可以直接运行单文件源代码程序&#xff0c;而不必先编译它们。 例如&#xff0c;考虑以下仅添加其参数的类&#xff1a; import java.util.*; public class Add {public static void main(String[] args) {…

iShot快捷键

快捷键说明Option A选择截图区域Option Z截图光标下的窗口Option X截图整个屏幕Option D延时截图Option W开始录屏/结束录屏

日期格式化为yyyymmdd_Excel小技巧——如何将多行日期快速转换为数字文本

Hello~大家好&#xff0c;本来计划这一期给大家介绍一下如何根据身份证号快速获得性别信息的小技巧&#xff0c;但是在上一节内容如何将数字快速转换成日期格式发布后&#xff0c;就有朋友私信问我&#xff0c;可不可以再介绍一下将日期快速转换成数字文本的方法呢&#xff1f;…

顽皮狗 多线程分享_谁去过顽皮,谁去过尼斯? 圣诞老人为您提供Java 11建议!...

顽皮狗 多线程分享有没有想过圣诞老人如何为世界各地的孩子们提供节日礼物&#xff1f; 有20亿个孩子&#xff0c;每个孩子都有自己的愿望清单&#xff0c;他会在24小时内完成。 这意味着平均每个孩子43微秒&#xff0c;他需要检查每个孩子是否顽皮或好。 您无需再怀疑了。 我…