同福

使用 JdbcTemplate 的 queryForMap 时候 Tinyint(1) 类型被转成 Boolean

介绍

介绍

这个是一个便捷的功能,官方认为使用 tinyint 类型且长度为 1 的情况都是只存 1 和 0 值的,也就是用于表示 Boolean 类型的

但是他们太武断了,我们就是要存储不止 1 和 0 的一位整数的值的

怎么办?

教程

问题

使用 queryForMap 时候,默认会把 Tinyint(1) 转成 Boolean,我们使用的时候 Boolean 又不能当 Integer 使用

解决

在使用 JdbcTemplate 连接 MySQL 的时候,在 url 参数上增加一项设置

tinyInt1isBit=false

意思是 tinyint(1) 转成 bit 功能关闭掉

这样设置之后,再使用 queryForMap 时候,就不会变成 Boolean 了