zoukankan      html  css  js  c++  java
  • 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 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>
    

      

      

      

  • 相关阅读:
    Hibernate关联映射
    mysql 外键约束
    巩固JavaSE基础--IDEA完成实战项目
    PHP--选择排序
    PHP--冒泡排序
    vscode调试单个PHP脚本文件
    Vscode下调试基于Homestead环境的Laravel框架
    Python Web开发
    Python之UDP编程
    Python之TCP编程
  • 原文地址:https://www.cnblogs.com/ccEmma/p/8289322.html
Copyright © 2011-2022 走看看