java控制某个字段当天递增
①思路
1.获取当前时间年月日如:2018-01-15 00:00:00
2018-01-15 24:00:00
2.查询表中对应日期字段是否在当天时间段内
3.若是在,则从0开始递增
4.若是不在,则查找msgno最大数值,在此基础上+1
②上代码
Controller调service中封装的方法
Integer msgid= xxtzService.getMsgid();
service
public Integer getMsgid(){//1.获取当前时间,格式为年月日时分秒
String date = DateU.getDateToString(new Date().getTime());
String senddate1 = date+" 00:00:00";
String senddate2 = date+" 24:00:00";
//2.查询表中对应字段是否有当天时间的
List<Message> msgList = xxtzMapper.findTime(senddate1,senddate2);
if(msgList.size()==0 || msgList==null){
//3.1若是没有匹配,从1开始递增
Integer msgid=0;
//每日最多10万条
for (int i = 0; i < 100000; i++) {
msgid++;
return msgid;
}
}else{
//3.2若是匹配,则查找msgno的最大数值,在此基础上+1
Integer msgid = xxtzMapper.findMaxMsgid(senddate1,senddate2);
msgid++;
return msgid;
}
return null;
}
Mapper
List<Message> findTime(@Param("senddate1")String senddate1, @Param("senddate2")String senddate2);Integer findMaxMsgid(@Param("senddate1")String senddate1, @Param("senddate2")String senddate2);
xxMapper.xml
<select >select max(msgid) from Message where
senddate between #{senddate1} and #{senddate2}
</select>
<!-- 查询Message表中对应字段是否有当天时间的 -->
<select >
select * from Message where
senddate between #{senddate1} and #{senddate2}
</select>
以上是 java控制某个字段当天递增 的全部内容, 来源链接: utcz.com/z/394534.html