①思路

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控制某个字段当天递增的更多相关文章

  1. Android(Java)控制GPIO的方法及耗时分析

    前面两篇分别介绍了通过脚本和C代码读写/sys/class/gpio以控制GPIO.实际项目调试时经常还需要在Java代码里控制GPIO,其实现与C代码类似,唯一不同是Android权限.本文重点介绍 ...

  2. 如何用java控制你的电脑?

    用java控制你的电脑 java,是一门强大的语言,强大的地方在于有很多类,我们可以直接的使用.而java.awt.Robot就很有意思了,顾名思义robot机器人,怎样一个机器法,如:控制鼠标方法: ...

  3. 【译】7. Java反射——私有字段和私有方法

    原文地址:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html =================== ...

  4. Java 读取clob字段的几种方法

    Java 读取clob字段的几种方法 一.第一种 Clob clob = rs.getClob("remark");//Java.sql.Clob String detailinf ...

  5. Java.控制层.响应工具类.

    Java.控制层.响应工具类. package cn.com.spdbccc.cds.index.web.base; public class ApiResponse { private int co ...

  6. Java实现蓝桥杯模拟递增三元组

    问题描述 在数列 a[1], a[2], -, a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a ...

  7. 前端传数据到后台,后台用实体类接收不到引发的思考----Java bean中字段命名潜规则

    1.按照Java语法规范,通常在实体类中的属性,首字母都是小写的.这是由于JavaBean的规范导致的.一般JavaBean属性都是首字母小写,以驼峰命名格式命名,相应的 getter/setter ...

  8. Java 控制反转和依赖注入模式【翻译】【整理】

    Inversion of Control Containers and the Dependency Injection pattern --Martin Fowler 本文内容 Component ...

  9. java 高并发 订单编号递增(解决方案)

    业务描述: 首先从数据中查找最近的一条订单数据,然后将之前的订单号码+1作为新的订单号码,插入到数据库当中.(需求不能改变) 当出现并发操作时,A从数据库中获取最近一条订单的订单号为N,这是A还没有完 ...

随机推荐

  1. C语言和sh脚本的杂交代码

    在网上看到了一个把 C语言和bash杂并起来的例子,这个示子如下所示.在下面这个例子中,我们把脚本用#if 0这个预编译给起来,这样就不会让其编译到C语言中了. #if 0 echo "He ...

  2. 洛谷P3901 数列找不同(莫队)

    传送门 我不管我不管我就是要用莫队 直接用莫队裸上 //minamoto #include<iostream> #include<cstdio> #include<alg ...

  3. C/C++ 遇到0xcccccccc访问冲突

    最近一直在纠结这个问题. 最近写代码,总是遇到这个问题,一旦遇到这个问题,以前好使的代码也就不好使了.很费解,上网搜集了下资料.... 这个0xcccccccc是DEBUG模式下,编译器为没有初始化的 ...

  4. CF1076C Meme Problem 数学

    Try guessing the statement from this picture: You are given a non-negative integer d . You have to f ...

  5. max Count Group by

    select UserName ,Max(LoginTime),count(1) from LoginLog group by UserName 只 group by UserName就行 可以得到L ...

  6. python解释器安装

    1. 下载安装包 1   2 https://www.python.org/ftp/python/2.7.14/python-2.7.14.amd64.msi    # 2.7安装包   https: ...

  7. 实施MySQL ReplicationDriver支持读写分离

    MySQL 提供支持读写分离的驱动类: com.mysql.jdbc.ReplicationDriver 替代 com.mysql.jdbc.Driver 注意,所有参数主从统一: jdbc:mysq ...

  8. 去除IDEA报黄色/灰色的重复代码的下划波浪线

    解决方法: File---->Settings

  9. hdu6397 Character Encoding 隔板法+容斥原理+线性逆元方程

    题目传送门 题意:给出n,m,k,用m个0到n-1的数字凑出k,问方案数,mod一个值. 题目思路: 首先如果去掉数字范围的限制,那么就是隔板法,先复习一下隔板法. ①k个相同的小球放入m个不同的盒子 ...

  10. poj1125传播谣言(弗洛伊德,求最长路)

    Stockbroker Grapevine Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 38541   Accepted: ...