解决jdbcTemplate和jpa查询TINYINT(1)返回BOOLEAN的问题
问题背景
在项目中使用jpa和jdbcTemplate时,发现当对Tinyint类型的数据进行查询时,会被当作boolean类型返回。
而在项目中,我们使用了大量的Tinyint来做枚举值,被当作布尔类型返回后,造成了程序的异常。
status TINYINT(1) NOT NULL DEFAULT 0;
分析
在mysql的官网 numeric-type-overview 这篇文档里面写到
BOOL, BOOLEAN
These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true
也就是说,在mysql中对 TINYINT(1)
和 BOOLEAN
的处理是一样的。
解决
查了不少文档,都是对 jpa
或者 jdbcTemplate
的查询方法进行扩展,在返回的数据进行Mapper匹配时,判断如果是TINYINT类型,就作特殊处理。
虽然这样能解决问题,但像这样普遍的问题,我相信mysql肯定有过考虑,然后在mysql的官方文档里面发现了这个配置
The data type returned for TINYINT(1) columns when tinyInt1isBit=true (the default) can be switched between Types.BOOLEAN and Types.BIT using the new configuration property transformedBitIsBoolean
也就是说,当你对mysql Connector设置了tinyInt1isBit=true
后,它会将TINYINT(1)
当作BIT
也就是
Types.BOOLEAN
来处理。而且这个设置是默认开启的。那是不是设置为false后反过来呢?
于是在jdbc url后面添加了?tinyInt1isBit=true
,问题解决
解决jdbcTemplate和jpa查询TINYINT(1)返回BOOLEAN的问题相关推荐
- JPA查询单个字段和多个字段返回类型总结
在使用springboot中,需要使用JPQL和SQL去查询记录. 获取一整条记录,返回的类型就是对应的实体类或者实体类的集合. 当不是全部字段时,返回类型就不能是实体类了. 以下是用JPQL和SQL ...
- mysql忽略大小写jpa解决_春数据JPA查询生成忽略大小写,以避免列数据
我使用的是春天的数据JPA获取使用ignoreCase属性数据为大写:春数据JPA查询生成忽略大小写,以避免列数据 Employee类: import javax.persistence.Entity ...
- jpa 查询 列表_终极JPA查询和技巧列表–第2部分
jpa 查询 列表 这一部分是该系列文章的第一部分 . JPA:NamedQuery,使用日期查询,有关getSingleResult方法的警告 为了避免重复查询代码,提高性能并简化维护查询,我们可以 ...
- jpa 查询集合_避免懒惰的JPA集合
jpa 查询集合 Hibernate(实际上是JPA)具有集合映射:@ OneToMany,@ ManyToMany,@ ElementCollection. 默认情况下,所有这些都是惰性的. 这意味 ...
- 终极JPA查询和技巧列表–第2部分
这一部分是该系列文章的第一部分 . JPA:NamedQuery,使用日期查询,有关getSingleResult方法的警告 为了避免重复查询代码,提高性能并简化维护查询,我们可以使用NamedQue ...
- Spring Data JPA 查询方法的命名语法与参数
3 Spring Data JPA 查询方法的命名语法与参数 在⼯作中,你是否经常为⽅法名的语义.命名规范⽽发愁?是否要为不同的查询条件写各种的 SQL 语句?是否为同⼀个实体的查询,写⼀个超级通⽤的 ...
- spring data jpa 查询自定义字段,转换为自定义实体
目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台. 环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2 背景:首先建立 ...
- MySqlClient访问tinyint字段返回布尔值
MySqlClient访问tinyint字段返回布尔值 原文 MySqlClient访问tinyint字段返回布尔值 症状: 使用MySqlClient访问tinyint unsign 字 ...
- jpa 查询 列表_终极JPA查询和技巧列表–第1部分
jpa 查询 列表 我们可以在Internet上找到一些JPA"如何做",在本博客的此处,教您如何使用JPA执行多项任务. 通常,我看到有人问有关使用JPA进行查询的问题. 通常, ...
最新文章
- LeetCode简单题之按奇偶排序数组
- webservice发送xml报文_海关总署公告2020年第120号(关于发布进出境公路运输工具货运舱单电子传输报文格式V1.1的公告)...
- rtems的GNU(GCC)编译环境配置
- XML解析技术,DOM和SAX以及STAX的区别
- 华清远见java考试题_Java面试题,你能答对几个?
- 基于八叉树快速分类的Shear-Warp交互式体绘制算法
- java中if判断季节_Java判断用户输入月份的季节
- Linux笔记-Centos7编译安装GmSSL
- 回家了,写博文继续!
- java如何编译运行?
- VB中Array函数
- 文献阅读(40)ICLR2021-Combining Label Propagation and Simple Models Out-performs Graph Neural Networks
- 【## 1、浏览器及内核-】
- DFS:拯救少林神棍(Sticks)[四轮剪枝操作]
- 新书《完美统计图:Word/PPT/Excel数据可视化宝典》,包邮送
- 算法开启队列转栈武魂
- 华为AX3 PRO路由器与光猫桥接
- 异步电动机转子磁动势——转子堵转时
- 关于禅道二次开发的分享
- spark+mongodb大数据框架搭建
热门文章
- 服务器x3850硬盘启动设置,IBM服务器x3850硬件安装手册.docx
- 高压开关综合测试仪现场试验常见问题解答
- 浪潮与SAP签约,互相相中对方的什么?
- 百度地图Marker隐藏/显示
- 我们的项目管理心得--二,心路历程
- 现在培训IT技术出来还能就业吗?
- 谷粒学苑-项目搭建、讲师前后端、课程分类前后端、OSS、EasyExcel
- Java从入门到放弃09---多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别
- Optimizilla中文在线无损压缩JPG、PNG图片,不降低画质有效减少图片文件大小
- CSS常用属性之文本属性(四)