gpt4 book ai didi

java - 如何自定义jdbcTemplate.queryForMap()返回的map中值的类型?

转载 作者:行者123 更新时间:2023-11-30 21:45:42 25 4
gpt4 key购买 nike

假设我有一个表,其中包含一个名为 status 的列,其类型为 tinyint(1),并且我使用以下 jdbc 查询从数据库中获取特定行,但现在 queryForMap () 方法会自动将 tinyint(1) 状态字段转换为 boolean 类型,但实际上我不仅要使用这个字段保存 0 或 1(例如也存储值 2),所以我希望这种类型的状态是 byte。我怎样才能实现这个目标?

Map<String, Object> task = jdbcTemplate
.queryForMap("select * from task where id = ? and deleted = 0 for update", taskId);

提前致谢。

最佳答案

MySQL 使用 tinyint(1) 作为 boolean 的别名。所以 mysql 的驱动程序会将 tinyint(1) 视为 boolean 值。您可以通过将 tinyInt1isBit=false 添加到您的连接 url(如上面链接中的描述)来禁用此 future 。之后,您将获得 tinyint(1) 列的 Integer。但我建议遵守别名,并将您的表定义为 tinyinttinyint(4) 以识别它不是 boolean

关于java - 如何自定义jdbcTemplate.queryForMap()返回的map中值的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49604840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com