如何用Mybatis逆向工程实现分页查询

如何用Mybatis逆向工程实现分页查询
一个很简单的方法,如果要mysql实现分页查询的话,执行下述语句即可

    select * from table
    limit (offset)5,(limit)10;

其中,第一个参数offset为游标起点,第二个参数limit为一次所取的数据量.这个语句在数据库中极其简单,但由于mybatis的逆向工程将绝大多数的sql语句包装成方法,那么如果要实现分页查询的话,本人看了下mapper.xml的代码,可以如下实现:

  1. 打开生成的example.class,在里面的变量中增加offset,limit两个变量,并为其添加set,get方法

    protected int offset;
    protected int limit;

    public int getOffset() {
        return offset;
    }

    public void setOffset(int offset) {
        this.offset = offset;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }
  1. 打开mapper.xml文件里面对应位置设置配置.例如在selectByExample方法中配置,添加条件
<if test="offset != null &amp;&amp; limit != null">
    limit ${offset},${limit}
</if>

完整的代码如下:

<select id="selectByExample" resultMap="BaseResultMap"
    parameterType="models.po.OpenInvitationCodeExample">
    select
    <if test="distinct">
        distinct
    </if>
    <include refid="Base_Column_List" />
    from open_invite_code
    <if test="_parameter != null">
        <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null">
        order by ${orderByClause}
    </if>
    <if test="offset != null &amp;&amp; limit != null">
        limit ${offset},${limit}
    </if>
</select>

到这步,基本上的配置已完成.
3. 通过java代码实现具体业务逻辑,实现分页

Example example = new Example();
//设置分页属性进行分页查询
example.setOffset(offset);
example.setLimit(limit);
List lists = mapper.selectByExample(example);

上述便是在mybaitis的逆向工程的基础上增加了分页的功能.

本人刚开始实习,也是第一次写技术blog,如果有更好的方法或者不太正确的地方,欢迎指出~

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值