【Oracle/MyBatis】Oracle分页语句在MyBatis的Mapper.xml中的实际运用
【前篇】
【Mapper类中的对应函数】
package com.hy.mapper; import com.hy.entity.Project; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface ProjectMapper { ... List<Project> pagedQueryPrj(String keyword,long uid, int start, int end); }
【Mapper.xml】
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hy.mapper.ProjectMapper">
<select id="pagedQueryPrj" resultType="com.hy.entity.Project">
select * from (select tta.*,rownum as rn from (
select a.id,a.name,to_char(a.create_time,'yyyy-mm-dd hh24:mi:ss') as createTime,0 as taskCnt
from dmo_project a
where a.userid=#{uid}
<if test="keyword != null and keyword !=''">
AND a.name LIKE '%'||#{keyword,jdbcType=VARCHAR}||'%'
</if>
) tta where rownum <=#{end} ) ttb where ttb.rn >#{start}
</select>
</mapper>
说明:select节点里的SQL分蓝色外层和肉色内层两部分,内层是实际SQL,是要根据业务改变的;外层就是固定分页语句,一点也不需要动。
END
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)