JdbcTemplate问题

时间:2012-08-28 21:01:56

标签: spring jdbctemplate

下面的Java代码:

JdbcTemplate jdbcTemplate = getJdbcTemplate();
Boolean isEnabled = true;
String sql = "INSERT INTO user_table (username, is_enabled) VALUES(?, ?)";
jdbcTemplate.update(sql, new Object[]{"a_username", isEnabled}

Oracle数据库user_table中的is_enabled列是Number类型,包含0或1个值。

我使用java布尔值而不是int做错了;但是jdbcTemplate没有抱怨而且有效。

任何人请解释一下JdbcTemplate发生了什么?

感谢

1 个答案:

答案 0 :(得分:1)

Oracle没有PL / SQL以外的布尔类型(关于为什么不支持布尔值的问题可以找到here)。

在您的情况下发生的事情是Oracle JDBC驱动程序实际上正在为您处理数据类型映射(因此从您提供的布尔值映射到oracle需要的数字类型)。有关详细信息,请访问:http://docs.oracle.com/cd/B10501_01/java.920/a96654/basic.htm#1022590