bug处理记录:java.util.UnknownFormatConversionException: Conversion = 'Y'
1. 报错:
java.util.UnknownFormatConversionException: Conversion = 'Y'
at java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2691)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2720)
at java.util.Formatter.parse(Formatter.java:2560)
at java.util.Formatter.format(Formatter.java:2501)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
2. 导致原因:
场景:博主是在使用MyBatisPuls中,queryWrapper拼接自定义sql条件的时候,出现的该报错。
// 导致该报错是因为在 String.format() 中,存在 %的特殊字符。数据库是mysql的,所以日期格式转换需要用到 %Y-%m-%d。
String.format(" select 1 from tbl_wave where tbl_wave.waveno = tbl_picktask.waveno and DATE_FORMAT(tbl_wave.create_time, '%Y-%m-%d') = '%s' ", createDate)
4. 正确使用:
// 使用 %%Y-%%m-%%d 替代 %Y-%m-%d,即使用 % 进行转义,%% 替代 %
String.format(" select 1 from tbl_wave where tbl_wave.waveno = tbl_picktask.waveno and DATE_FORMAT(tbl_wave.create_time, '%%Y-%%m-%%d') = '%s' ", createDate)
3. 总结:
此问题属于基础知识积累问题,不是技术难题,收藏记录下来。
在 String.format() 中, %s 是一个字符串占位符,字符串中的特殊符号会影响占位符的数量与参数的匹配。
bug处理记录:java.util.UnknownFormatConversionException: Conversion = 'Y'的更多相关文章
- java.util.UnknownFormatConversionException: Conversion = 'j' || Conversion = 'D' || Conversion = 'Y'
执行内容: String a = "select * from j_question j where j.status = %s and j.title like '%java%'" ...
- java.util.UnknownFormatConversionException: Conversion = ''';
今天在测试一个新的项目,在执行sql查询报表的时候.由于我的sql中带有%,导致在输出日志时报错“java.util.UnknownFormatConversionException: Convers ...
- [java bug记录] java.util.zip.ZipException: invalid code lengths set
1. 描述:将代码迁移到maven工程,其中用ZipInputStream读取/src/main/resources下的zip文件时报错:“java.util.zip.ZipException: in ...
- 我的Java开发学习之旅------>Java 格式化类(java.util.Formatter)基本用法
本文参考: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html http://www.blogjava.net/ ...
- 软件包 java.util 的分层结构
概述 软件包 类 使用 树 已过时 索引 帮助 JavaTM Platform Standard Ed. 6 上一个 下一个 框架 无框架 所有类 ...
- Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'xxx': no matching editors or conversion strategy found
今天在完成项目的时候遇到了下面的异常信息: 04-Aug-2014 15:49:27.894 SEVERE [http-apr-8080-exec-5] org.apache.catalina.cor ...
- 再次踩bug:遍历删除list(java.util.ConcurrentModificationException)
再次踩bug:遍历删除list(java.util.ConcurrentModificationException) 使用 List<Long> list = new ArrayList& ...
- 基于java.util.logging实现轻量级日志记录库(增加根据当前类class初始化,修复线程池模型(javaEE)下的堆栈轨迹顺序与当前调用方法不一致问题)
前言: 本章介绍自己写的基于java.util.logging的轻量级日志记录库(baseLog). 该版本的日志记录库犹如其名,baseLog,是个实现日志记录基本功能的小库,适合小型项目使用,方便 ...
- Java Bug -- java.util.ConcurrentModificationException
java.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.ja ...
- java 中java.util.Arrays类---常用函数记录
java.util.Arrays主要是用来对数组进行操作的类,主要包括以下方法: 1.数组转化列表,得到固定大小的列表,Arrays.asList(...): public static <T& ...
随机推荐
- Elastic:创建你的第一个Elastic alert
文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/105340379 在Elasticsearch可以提供给我们数据的存储及快速的搜索,但 ...
- mysql8数据库修改root密码,以及创建用户遇到的坑,开启远程登录,用navicat进行mysql的远程连接,mysql8.0默认编码方式,部分参数配置查询命令
yum 安装MySQL8 echo "删除系统默认或之前可能安装的其他版本的 mysql" for i in $(rpm -qa|grep mysql);do rpm -e $i ...
- k8s中节点级别的日志
容器化应用程序写入到 stdout 和 stderr 中的任何信息,都将被容器引擎重定向到某个地方.例如,Docker 容器引擎将 stdout 和 stderr 这两个输出流重定向到 logging ...
- python及第三方库交叉编译
一.前言: 网上关于python的交叉编译的文章很多,但是关于python第三库的交叉编译的文章就比较少了,而且很多标题是第三方库的交叉编译,但是实际上用到的都是不需要交叉编译就能用的库,可参考性不强 ...
- POJ1741 tree (点分治模板)
题目大意: 给一棵有 n 个顶点的树,每条边都有一个长度(小于 1001 的正整数).定义 dist(u,v)=节点 u 和 v 之间的最小距离.给定一个整数 k,对于每一对 (u,v) 顶点当且仅当 ...
- Java学习之路:HelloWorld
2022-10-08 16:13:57 HelloWorld 1. 随便新建一个文件夹,存放代码 2. 新建一个Java文件 文件后缀名为.java hello.java 注意:系统没有显示后 ...
- MongoDB、Redis、elasticSearch、hbase的对比
MongoDB.Redis.elasticSearch.hbase的对比 MongoDB 优点: (1) 最大的特点是表结构灵活可变,字段类型可以随时修改. (2) 插入数据时,不必考虑表结构的限制. ...
- mybatis框架图
- .net lambda表达式合并
事情的起因是公司一个小伙子问了我个问题 "海哥,来帮我看下这段代码怎么不行" Func<Report,bool> nameFilter = x=>x.Name = ...
- etcd实现分布式锁
转载自:etcd实现分布式锁 当并发的访问共享资源的时候,如果没有加锁的话,无法保证共享资源安全性和正确性.这个时候就需要用到锁 1.需要具备的特性 需要保证互斥访问(分布式环境需要保证不同节点.不同 ...