【问题标题】:JdbcTemplate issueJdbc模板问题
【发布时间】:2012-08-28 21:01:55
【问题描述】:

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 是怎么回事?

谢谢

【问题讨论】:

    标签: spring jdbctemplate


    【解决方案1】:

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

    在您的情况下,Oracle JDBC 驱动程序实际上正在为您处理数据类型映射(因此从您提供的布尔值映射到 oracle 所需的数字类型)。可以在这里找到详细信息:http://docs.oracle.com/cd/B10501_01/java.920/a96654/basic.htm#1022590

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 2012-12-15
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      相关资源
      最近更新 更多