mybatis的分页如何实现的

abc395015721 abc395015721 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以前用的是hibernate来对数据库进行处理,现在换了架构了,改用mybatis,我感觉用起来还是挺顺手的,现在正在理解他的实现过程,现在遇到分页这个难题了,就大神帮忙解释下
接口中的方法是这样的
 List<T> selectByExampleWithBLOBs(FilterExample example);

List<T> selectByExampleWithRowbounds(FilterExample example, RowBounds rowBounds);
xml中的代码是这样的
  <select id="selectByExample" resultMap="BaseResultMap" parameterType="com.excenergy.edba.filter.FilterExample" >
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Wed May 21 13:11:55 CST 2014.
-->
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from LOGIN_LOG
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
  <select resultMap="BaseResultMap" parameterType="com.excenergy.edba.filter.FilterExample" id="selectByExampleWithRowbounds" >
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Wed May 21 13:11:55 CST 2014.
-->
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from LOGIN_LOG
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<sql id="Example_Where_Clause" >
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Wed May 21 13:11:55 CST 2014.
-->
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<foreach collection="criteria.criteria" item="criterion" >
<choose >
<when test="criterion.noValue" >
and ${criterion.condition}
</when>
<when test="criterion.singleValue" >
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue" >
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue" >
and ${criterion.condition}
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
这两段xml代码感觉没什么区别啊,为什么后者能实现分页功能
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
abc395015721
Java EE 67,535 成员 225,843 内容