自定义报错返回_MybatisPlus基础篇学习笔记(五)------自定义sql及分页查询
本章目錄
- 自定義sql
- 分頁查詢
1. 自定義sql
在dao文件中編寫自定義接口,并在方法上使用注解形式注入SQL,如圖所示:
第一種:
第二種
① 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提供的分頁方法會查全部,分頁不生效。
下圖演示了兩種分頁返回類型
第一種:以對象的形式輸出每頁的記錄;第二種:以map集合的形式輸出每頁的記錄。
在控制臺中大家也能看到分頁查詢方法會執行兩條sql,一條是查詢總記錄數,一條是查詢每頁數據;在有些場景中不需要查詢總記錄數的時候,IPage<Member> memberPage = new Page<>(1, 2,false)中第三個參數false為不查詢總記錄數,默認為true查詢總記錄數,可通過該參數進行設置。
②自定義分頁方法
// 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提供的分頁查詢方法幾乎一樣。
總結
以上是生活随笔為你收集整理的自定义报错返回_MybatisPlus基础篇学习笔记(五)------自定义sql及分页查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3l如何使用_慢阻肺患者如何选购呼吸机和
- 下一篇: 两个数相乘积一定比每个因数都大_人教版五