mybatis查询对象集合注意事项

来源:互联网 发布:js弹窗按键 编辑:程序博客网 时间:2024/06/04 17:49

第一步:LiveRateMapper里面定义查询方法:

通过对象作为参数查询对象集合

List<LiveRatePage> findAllLiveRate(LiveRatePage liveRatePage);


第二步:根据查询条件写出正确的sql语句:

select (@i:=@i+1) as rank,a.* from (select DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d')CREATE_DT,l.DAY_AGE,l.FARMER_NAME,l.LIVE_RATE,l.AREA FROM liverate l WHERE
DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d') >=DATE_FORMAT('2017-06-01','%Y-%m-%d')
and DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d')<=DATE_FORMAT('2017-06-10','%Y-%m-%d')
ORDER BY l.LIVE_RATE desc
LIMIT 0,20)a,(select @i:=0) as it
;


第三步:LiveRateMapper.xml定义查询语句:

改写mybatis动态sql

<select id="findAllLiveRate" resultMap="BaseResultMap2" parameterType="com.znyq.wfCloud.admin.pageModel.LiveRatePage">
  select (@i:=@i+1) as rank,a.* from (select DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d')CREATE_DT,l.DAY_AGE,l.FARMER_NAME,l.LIVE_RATE,l.AREA
     FROM liverate l
     WHERE 1 = 1
    <if test="date1 != null and ''!= date1">
          <![CDATA[ and  DATE_FORMAT(l.CREATE_DT, '%Y-%m-%d') >=DATE_FORMAT(#{date1},'%Y-%m-%d') ]]>
    </if>
     <if test="date2 != null and ''!= date2">
          <![CDATA[ and  DATE_FORMAT(l.CREATE_DT, '%Y-%m-%d') <=DATE_FORMAT(#{date2},'%Y-%m-%d') ]]>
    </if>
    ORDER BY l.LIVE_RATE desc
   limit #{curSize},#{pageSize})a,(select @i:=0) as it
        
 </select>

第四步:配置正确返回对象属性

<resultMap id="BaseResultMap2" type="com.znyq.wfCloud.admin.pageModel.LiveRatePage" >
    <result column="rank" property="rank" jdbcType="VARCHAR" />
    <result column="DAY_AGE" property="dayAge" jdbcType="VARCHAR" />
    <result column="LIVE_RATE" property="liveRate" jdbcType="VARCHAR" />
    <result column="FARMER_NAME" property="farmerName" jdbcType="VARCHAR" />
    <result column="AREA" property="area" jdbcType="VARCHAR" />
    <result column="CREATE_DT" property="rankDate" jdbcType="VARCHAR" />
  </resultMap>


对象:LiveRatePage

属性:private String dayAge;

     public String getDayAge() {

        return dayAge;
    }

    public void setDayAge(String dayAge) {
        this.dayAge = dayAge;
    }


ps对象的其他属性和set,get省略了,注意的地方我都标红了查询的id要唯一

返回的结果集配置id要唯一对应,查询的列字段和对象属性要注意对应






原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 框架柱主筋柱顶预留长度不够怎么办 遇到很嚣张的人怎么办 在地板砖上铺木地板卧室门怎么办 宝宝打预防针的本子丢了怎么办 宝宝打预防针本子丢了怎么办 打疫苗的本子丢了怎么办 麦客收割机麦秸里加麦粒怎么办 高铁乘务员身高不够怎么办 坐火车买到站票怎么办 买上车补票原票怎么办? 买的商务座补票怎么办 12306账号被别人登录怎么办 飞机不提供餐食怎么办 12306退票支付宝失败怎么办 12306重复支付怎么办支付宝 支付宝登的12306账号怎么办 没买儿童高铁票怎么办 网上订的机票怎么办托运 半夜买高铁票不出票怎么办 轻轨少买了一站怎么办 高铁火车票丢了怎么办 如果高铁票丢了怎么办 高铁票丢了怎么办 报销 高铁如果没赶上怎么办 高铁管家待核验怎么办 动车没有票了怎么办 12306取消订单3次怎么办 【12306取消订单3次怎么办】 火车票取消订单3次怎么办 12306收不到验证码怎么办 安逸花验证码次数限制怎么办 航班晚点导致错过转机怎么办 想去沈阳站送站怎么办 高铁没有赶上车怎么办 火车晚点赶不上下一趟车怎么办 列车晚点影响下一趟车怎么办? 高铁晚点赶不上下班车怎么办 火车在半路坏了怎么办 做火车中途坏了怎么办 员工怀孕不上班保险怎么办 怀孕带孩子不能上班保险怎么办