Mybatis JdbcType与Oracle、MySql数据类型对应列表

Mybatis

JdbcType

Oracle

MySql

JdbcType

ARRAY

 

 

JdbcType

BIGINT

 

BIGINT

JdbcType

BINARY

 

 

JdbcType

BIT

 

BIT

JdbcType

BLOB

BLOB

BLOB

JdbcType

BOOLEAN

 

 

JdbcType

CHAR

CHAR

CHAR

JdbcType

CLOB

CLOB

CLOB–>修改为TEXT

JdbcType

CURSOR

 

 

JdbcType

DATE

DATE

DATE

JdbcType

DECIMAL

DECIMAL

DECIMAL

JdbcType

DOUBLE

NUMBER

DOUBLE

JdbcType

FLOAT

FLOAT

FLOAT

JdbcType

INTEGER

INTEGER

INTEGER

JdbcType

LONGVARBINARY

 

 

JdbcType

LONGVARCHAR

LONG VARCHAR

 

JdbcType

NCHAR

NCHAR

 

JdbcType

NCLOB

NCLOB

 

JdbcType

NULL

 

 

JdbcType

NUMERIC

NUMERIC/NUMBER

NUMERIC/

JdbcType

NVARCHAR

 

 

JdbcType

OTHER

 

 

JdbcType

REAL

REAL

REAL

JdbcType

SMALLINT

SMALLINT

SMALLINT

JdbcType

STRUCT

 

 

JdbcType

TIME

 

TIME

JdbcType

TIMESTAMP

TIMESTAMP

TIMESTAMP/DATETIME

JdbcType

TINYINT

 

TINYINT

JdbcType

UNDEFINED

 

 

JdbcType

VARBINARY

 

 

JdbcType

VARCHAR

VARCHAR

VARCHAR

 

注意到, MyBatis的JdbcType中部分没有对应到OracleMySQL的数据类型中(或许由于自己遗漏),不过不用担心,后续大家碰到再具体分析;同时上述对应关系不一定是一一对应,请大家了解。

 

来自 <http://blog.csdn.net/loongshawn/article/details/50496460>

 

Mybatis JdbcType官方文档

http://www.mybatis.org/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html

### MyBatisOracle 数据库插入空字符串的方法及注意事项 #### 使用 `NULL` 或者空字符串 在 Java 应用程序中通过 MyBatis 操作 Oracle 数据库时,如果希望插入空字符串,则需要注意区分 `null` 和空字符串 (`""`) 的处理方式。对于某些字段,默认情况下传递 `null` 值可能会被当作数据库层面的实际 `NULL` 来对待而不是作为长度为零的字符串存储。 为了确保能够正确地将空串写入表单列内,可以显式指定要保存的内容为空格字符或者是使用特定属性配置来控制这种行为: ```xml <insert id="insertEmptyString"> INSERT INTO example_table(column_name) VALUES ( #{emptyValue, jdbcType=VARCHAR} ) </insert> ``` 这里设置了 `jdbcType=VARCHAR` 属性以告知 MyBatis 此处应该期待的是一个可变宽度字符类型的输入值[^1]。 #### JDBC 类型设置 当涉及到不同数据源之间的迁移工作时——比如从 MySQL 迁移到 Oracle ——应当特别留意那些可能引起兼容性问题的数据类型定义。例如,在原生 SQL 语句里原本使用的可能是 `OTHER` 类型;然而针对 Oracle 环境下则建议更改为更为具体的类型如 `VARCHAR2` 或其他适合的选择。 因此,在映射文件中声明参数的时候也应遵循这一原则,即采用目标 RDBMS 所支持的标准类型名称来进行描述。 #### 配置 MapUnderscoreToCamelCase 另外一个重要方面在于应用程序级别的设定项,特别是有关于驼峰命名转换的功能开关(`mapUnderscoreToCamelCase`)。开启此选项有助于简化实体类成员变量名关系型数据库模式对象之间的一致性维护过程,但这并不直接影响到如何表示空白文本的问题上。 不过保持良好的编码习惯总是有益无害的,它可以帮助开发者减少因大小写敏感等因素带来的潜在错误风险。 #### 动态 SQL 安全措施 考虑到安全性因素,在构建任何涉及外部传参的操作之前都务必采取必要的防护手段以防备恶意注入企图。借助 MyBatis 提供的安全机制(例如 `${}` vs. `#{}`),可以有效规避此类威胁并保障系统的稳定运行[^4]。 综上所述,要在 MyBatis 下成功实现向 Oracle 表格添加空字符串记录的目标,关键是明确指明预期的数据形式并通过适当的方式传达给底层驱动层去执行相应的动作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值