Oracle+SSM项目查询指定时间段的数据

本文介绍了一种使用MyBatis映射文件进行SQL查询的方法,特别是如何通过参数化的方式实现灵活的条件查询,并展示了如何在Java控制层进行分页查询及日期处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

映射文件中SQL的写法:

     <!-- 根据居民身份证号和检测时间段获得用户的检测数据 -->
 <select id="getDataByMap" parameterType="Map" resultMap="BaseResultMap">
  select <include refid="Base_Column_List"/> from table 
   WHERE 1 = 1
   <if test="archiveid != null and archiveid !=''">
        AND ARCHIVEID = #{archiveid}
    </if>
        <!-- 查询条件:创建起始时间 -->
     <if test="beginDate!=null and beginDate !=''">
     and <![CDATA[CREATED_DATE>=to_date(#{beginDate}, 'yyyy-mm-dd') ]]>
    </if>
    <!-- 查询条件:创建结束时间 -->
    <if test="endDate!=null and endDate !=''">
    and <![CDATA[CREATED_DATE<=to_date(#{endDate}, 'yyyy-mm-dd') ]]>  
    </if>
     ORDER BY  CREATED_DATE DESC
 </select>

控制层的写法:

        int page = Integer.parseInt(pageNumber);
        int size = Integer.parseInt(pageSize);
        String beginDate=req.getParameter("beginTime");
        String endDateStr=req.getParameter("endTime");
        String endDate=DateUtil.getSpecifiedDayAfter(endDateStr);
        Map<String, Object>map=new HashMap<String,Object>();
        map.put("archiveid", archiveId);
        map.put("beginDate", beginDate);
        map.put("endDate", endDate);
        PageInfo<T> pageInfo = ytjService.getDataByMap(map,page, size);
        List<T> spo2s = pageInfo.getList();
        Gson gson = new Gson();
        JSONObject result = new JSONObject();
        result.put("rows", gson.toJson(spo2s));
        result.put("total", spo2s.size());
        ResponseUtil.write(resp, result);
    该控制层结合了分页查询,在结束日期处理上,为防止查询不出截止日期当天的数据,将endDate延后一天。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值