码迷,mamicode.com
首页 > 编程语言 > 详细

java控制某个字段当天递增

时间:2018-01-15 20:35:02      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:i++   size   service   代码   XML   select   3.2   ++   dma   

①思路

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 id="findMaxMsgid" resultType="int">
		select max(msgid) from Message where 
		senddate between #{senddate1} and #{senddate2}
	</select>

	<!-- 查询Message表中对应字段是否有当天时间的 -->
	<select id="findTime" resultType="Message">
		select * from Message where 
		senddate between #{senddate1} and #{senddate2}
	</select>

  

  

 

 

  

java控制某个字段当天递增

标签:i++   size   service   代码   XML   select   3.2   ++   dma   

原文地址:https://www.cnblogs.com/ccEmma/p/8289322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!