Mybatis----筛选数据的总条数和数据,以分页展示——sql配置模板例子04

1.直接把POJO传入到Mybatis,取出里面的值作为筛选条件

筛选条件:1.普通条件  2.时间区间控制 3.选择性过滤某些条件 4.排序 5.分页

简化的的POJO例子

public class Target implements Serializable {

    private static final long serialVersionUID = -4733433410890544354L;

    /**
     * 设置id,主键
     */
    private Long setup_id;    

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getSetup_id() {
        return setup_id;
    }

    public void setSetup_id(Long setup_id) {
        this.setup_id = setup_id;
    }
    ......
}

MyBatis的Sql配置文件

数据项

<select id="queryTargetByCondition" parameterType="com.XX.XX.XX.XX.XX.TargetDTO" resultType="com.XX.XX.XX.XX.XX.Target">
        SELECT
        ...
        bts.biz_type,
        bts.group_id,
        ug.group_name,
        bts.quantity,
        bts.amount,
        bts.create_user_id,
        uu.user_name,
        bts.create_time,
        bts.modify_user_id,
        bts.modify_time
        FROM boss_target_setup AS bts
        LEFT JOIN um_group AS ug ON bts.group_id = ug.group_id
        LEFT JOIN um_user AS uu ON bts.create_user_id = uu.user_id
        WHERE 1=1
        <if test="agency_id != null">AND bts.agency_id = #{agency_id}</if>
        <if test="cycle_value != null">AND bts.cycle_value = #{cycle_value}</if>
        <if test="biz_type != null">AND bts.biz_type = #{biz_type}</if>
        <if test="start_date != null">AND bts.start_date >= #{start_date} </if>
        <if test="end_date != null">AND #{end_date} >= bts.end_date</if>
        <if test="biz_type == 1">AND bts.quantity != 0</if>
        <if test="biz_type == 2">AND bts.amount != 0</if>
        <if test="pageQueryVO.orderName != null">
            ORDER BY ${pageQueryVO.orderName}
        </if>
        <if test="pageQueryVO.pageSize > 0">
            LIMIT #{pageQueryVO.currentPage},#{pageQueryVO.pageSize}
        </if>
    </select>

总页数

<select id="queryTargetCountByCondition" parameterType="com.finway.boss.admin.basicfunction.dto.TargetDTO" resultType="int">
        SELECT COUNT(*)
        FROM boss_target_setup
        WHERE 1=1
        <if test="agency_id != null">AND agency_id = #{agency_id}</if>
        <if test="group_id != null">AND group_id = #{group_id}</if>
        <if test="belong_year != null">AND belong_year = #{belong_year}</if>
</select>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值