• 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>
    

      

      

      

  • 相关阅读:
    linux 扩展权限
    一篇文章搞懂装饰器所有用法(建议收藏)
    python中yield的用法详解——最简单,最清晰的解释
    Django-用户权限,用户角色使用指南
    Django 之瀑布流实现
    Git 命令将电脑上的文件上传到 Github
    Day23-Model操作,Form操作和序列化操作
    django 内置“信号”机制和自定义方法
    第四章:操作列表
    第二章:变量和简单数据类型
  • 原文地址:https://www.cnblogs.com/ccEmma/p/8289322.html
Copyright © 2020-2023  润新知