JavaSQL配置文件查询条件匹配字段是Date时注意事项
来源:互联网 发布:淘宝客服安抚顾客语 编辑:程序博客网 时间:2024/05/22 13:16
今天在调试一个功能时出现一个问题,有一个调Dao返回泛型List的简单代码,传入两个查询参数,分别为String和Date类型。
在生产环境传入时间等参数查询时总是查不到数据,实际上表中是有数据的,将语句加上查询条件捞出来放到数据库是能查出来数据的。
后来才发现是因为代码中传的date类型参数只精确到秒,毫秒级别不是零导致查询匹配不上,所以在用date类型进行比较时一定要记得毫秒位,或者就用时间戳格式进行比较,或者限制一个精确到毫秒的范围,比如date>=2017-08-04 00:00:00:000 and date<=2017-08-04 23:59:59:999。
测试代码如下:
可以发现,毫秒未置零之前根据当前时间获取的calendar实例和字符串转换出的date对象时间戳是不同的。
public static void main(String[] args) { //当前时间的Calendar实例 Calendar calendar=Calendar.getInstance(); Date date=new Date(); //将小时置零 calendar.set(Calendar.HOUR_OF_DAY, 0); //将分钟置零 calendar.set(Calendar.MINUTE,0); //将秒置零 calendar.set(Calendar.SECOND, 0); //获取转化为毫秒值 System.out.println(calendar.getTimeInMillis());//1502121600093 //转化为date类型 date=calendar.getTime(); //打印date值的时间戳值 System.out.println(date.getTime());//1502121600093 //格式化 SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf1.format(date));//2017-08-08 00:00:00 System.out.println(); String str="2017-08-08 00:00:00"; try { //将字符串转化为时间,字符串时间格式一定要和SimpleDateFormat构造的对象格式相同,否则会报错 date=sdf1.parse(str); System.out.println(date.getTime());//1502121600000 } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } calendar.set(Calendar.MILLISECOND,0); System.out.println(calendar.getTimeInMillis());//1502121600000 }
阅读全文
0 0
- JavaSQL配置文件查询条件匹配字段是Date时注意事项
- 数据库连接时的查询条件注意事项
- Oracle Date字段查询方法
- Oracle查询date类型字段
- hibernate条件查询注入自定义Bean无需配置文件,取需要的字段
- hibernate条件查询注入自定义Bean无需配置文件,取需要的字段
- 匹配所有字段模糊查询
- SpringBoot中Mongo查询条件是集合中的字段的处理
- sfo查询条件,具体到查询字段
- hibernate 本地查询 字段别名 映射到 DTO时注意事项
- oracle date数据的条件查询
- oracle插入或者查询date型字段
- HQL按条件查询分页注意事项
- TP 查询某一条件字段 并 排序
- JDBC PreparedStatement 字符串字段 模糊查询 注意事项
- mongoTemplate通过Query条件指定查询条件和返回字段
- MYSQL查询通过date类型的字段查询一段时间记录
- 一个字段匹配查询的SQL语句
- JQuery
- Ceres-Solver学习笔记(2)
- CRM的dev(四)--新增和更新之前,判断是否有字段的值重复
- 杭电多校 1002 Balala Power! 题解报告
- JAVA线程池ThreadPoolExecutor
- JavaSQL配置文件查询条件匹配字段是Date时注意事项
- UVA11134FabledRooks
- 油猴子使用简介
- IXDC2017大会:面对新商业体验,设计师转型三部曲
- 让Android Studio披上 Sublime Text的新衣
- Unity众神之光 单词
- Android_设置应用的Intent属性
- 每周荐书:机器学习、Java虚拟机、微信开发(评论送书)
- MongoDB(集群搭建) -----主从、副本集