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

本文介绍了 MyBatis 中 JDBCType 与 Oracle、MySQL 数据类型的对应关系,包括基本的数字、时间、字符串等常见类型,并提供了官方文档链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 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
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
JdbcType TINYINT   TINYINT
JdbcType UNDEFINED    
JdbcType VARBINARY    
JdbcType VARCHAR VARCHAR VARCHAR

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

大家主要掌握基本的数字、时间、字符串就足以应对日常开发了。

2. Mybatis JdbcType官方文档

Mybatis JdbcType官方文档

转载来自:http://blog.youkuaiyun.com/loongshawn/article/details/50496460

### 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、付费专栏及课程。

余额充值