1、时间段查询
MySQL:select * from table
where ctime >= CURDATE() and ctime <DATE_SUB(CURDATE(),INTERVAL -1 DAY);
XML:
<select id="selectByUidToday" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from fc_temporarydanger_census_t
where uid = #{uid,jdbcType=INTEGER} and ctime >= date(now()) and ctime < DATE_ADD(date(now()),INTERVAL 1 DAY)
</select>
2、获取当天开始与截止时间
JAVA:
Calendar c = new GregorianCalendar();
log.error("c:"+c);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
Date start = c.getTime();
log.error("start:"+start);
c.set(Calendar.HOUR_OF_DAY,23);
c.set(Calendar.MINUTE,59);
c.set(Calendar.SECOND,59);
c.set(Calendar.MILLISECOND,999);
Date end = c.getTime();
log.error("end:"+end);
Map<String, Object> m = new HashMap<String, Object>();
m.put("start", start);
m.put("end", end);
List<FcTargetAssessment> list2 = fcTargetAssessmentMapper.selectByCtime_2(m);
log.error("list2:"+list2.toString());
log.error("ta2:"+list2.size());
XML:
<select id="selectByCtime_2" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from fc_target_assessment_t
where ctime >= #{start} and #{end} >= ctime
</select>
3、批量更新update
int updateBatch(Map<String, Object> m);
<update id="updateBatch">
update fc_naturaldanger_item_t
set checkret_bigd =
<foreach collection="list" item="item" index="index" separator=" " open="case ID" close="end">
when #{item.id} then #{item.checkretBigd}
</foreach>
where id in
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
#{item.id,jdbcType=INTEGER}
</foreach>
</update>
4、批量插入insert
int insertBath(Map<String, Object> m);
<insert id="insertBath">
insert into fc_naturaldanger_item_t (dangerstudyid,dangerid, checkret)
values
<foreach collection="list" item="item" separator=",">
(#{dangerstudyid}, #{item.dangerid}, #{item.checkret})
</foreach>
</insert> //id为自增长状态