MybatisPlus將自定義的sql列表查詢返回改為分頁查詢
問題描述
在開發(fā)過程中在 mapper.xml 文件中自定義了一個 sql 查詢列表的 select 語句,但是由于前端需要的是分頁數(shù)據,需要在后端將列表查詢改成分頁查詢
修改前
1. 查詢數(shù)據類型
@Data public class OppRelMoveWrapper implements BaseData { /** * ID */ private Long id; /** * 商機ID */ private Long oppId; /** * RELATIONSHIP */ private String relationship; /** * 關系評價附件 */ private String attachmentRel; /** * CHIEF_RECORD */ private String chiefRecord; /** * 首席代表動態(tài)記錄附件 */ private String attachmentChief; /** * ORDINARY_RECORD */ private String ordinaryRecord; /** * 普通動態(tài)記錄附件 */ private String attachmentOrdinary; /** * 錄入人 */ private Long createStaff; /** * 錄入時間 */ private Date createDate; /** * 更新時間 */ private Date updateDate; }
2. mapper定義
@Mapper public interface OppRelationshipInfoMoveMapper extends BaseMapper<OppRelationshipInfoMove> { List<OppRelMoveWrapper> queryMoveClientList(@Param("query") OppRelMoveQuery query); }
3. xml文件定義
該語句查詢的是一個返回數(shù)據類型為OppRelationshipInfoMoveMap
的列表
<resultMap type="com.wrapper.OppRelMoveWrapper" id="OppRelationshipInfoMoveMap"> <result property="id" column="ID" jdbcType="INTEGER"/> <result property="oppId" column="OPP_ID" jdbcType="INTEGER"/> <result property="relationship" column="RELATIONSHIP" jdbcType="VARCHAR"/> <result property="attachmentRel" column="attachment_rel" jdbcType="VARCHAR"/> <result property="chiefRecord" column="CHIEF_RECORD" jdbcType="VARCHAR"/> <result property="attachmentChief" column="attachment_chief" jdbcType="VARCHAR"/> <result property="ordinaryRecord" column="ORDINARY_RECORD" jdbcType="VARCHAR"/> <result property="attachmentOrdinary" column="attachment_ordinary" jdbcType="VARCHAR"/> <result property="createStaff" column="CREATE_STAFF" jdbcType="INTEGER"/> <result property="createDate" column="CREATE_DATE" jdbcType="TIMESTAMP"/> <result property="updateDate" column="UPDATE_DATE" jdbcType="TIMESTAMP"/> </resultMap> <select id="queryMoveClientList" resultMap="OppRelationshipInfoMoveMap"> SELECT ID, OPP_ID, RELATIONSHIP, attachment_rel, CHIEF_RECORD, attachment_chief, ORDINARY_RECORD, attachment_ordinary, CREATE_STAFF, CREATE_DATE, UPDATE_DATE FROM opp_relationship_info_move WHERE 1=1 <if test="query.createDate != null and query.createDate != ''"> AND DATE_FORMAT(CREATE_DATE, '%Y-%m-%d') = #{query.createDate} </if> <if test="query.updateDate != null and query.updateDate != ''"> AND DATE_FORMAT(UPDATE_DATE, '%Y-%m-%d') = #{query.updateDate} </if> <if test="query.oppId != null and query.oppId != ''"> AND OPP_ID = #{query.oppId} </if> ORDER BY CREATE_DATE DESC </select>
4. 函數(shù)使用
List<OppRelMoveWrapper> moveWrapperList = oppRelationshipInfoMoveMapper.queryMoveClientList(query);
修改后
修改成分頁查詢比較簡單,直接將 mapper 的查詢方法修改即可
1. 修改mapper
將函數(shù)返回的數(shù)據改成 Page類型
@Mapper public interface OppRelationshipInfoMoveMapper extends BaseMapper<OppRelationshipInfoMove> { Page<OppRelMoveWrapper> queryMoveClientList(Page<Object> page, @Param("query") OppRelMoveQuery query); }
2. 函數(shù)使用
注意: 構造Page時里面的 pageNum 和 pageSize 一定要存在!??! 否則獲得的 Page 中的 records 為空?。?!
Page<OppRelMoveWrapper> moveWrapperPage = oppRelationshipInfoMoveMapper.queryMoveClientList( new Page(query.getPage(), query.getPageSize(), true), query);
結語
很香的一個方法,使我的列表查詢變成分頁查詢。
到此這篇關于MybatisPlus將自定義的sql列表查詢返回改為分頁查詢的文章就介紹到這了,更多相關MybatisPlus自定義sql列表查詢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java Collections集合繼承結構圖_動力節(jié)點Java學院整理
這篇文章主要介紹了Java Collections集合繼承結構圖_動力節(jié)點Java學院整理,需要的朋友可以參考下2017-04-04Spring使用Configuration注解管理bean的方式詳解
在Spring的世界里,Configuration注解就像是一位細心的園丁,它的主要職責是在這個繁花似錦的園子里,幫助我們聲明和管理各種各樣的bean,本文給大家介紹了在Spring中如何優(yōu)雅地管理你的bean,需要的朋友可以參考下2024-05-05