java.sql.Types 值 |
Java Type |
IBM DB2 |
Oracle |
Sybase |
SQL |
Informix |
IBM Content Manager |
BIGINT |
java.lang.long |
BIGINT |
NUMBER (38, 0) |
BIGINT |
BIGINT |
INT8 |
DK_CM_BIGINT |
BINARY |
byte[] |
CHAR FOR BIT DATA |
RAW |
BINARY |
IMAGE |
BYTE |
DK_CM_BLOB |
BIT |
java.lang.Boolean |
N/A |
BIT |
BIT |
BIT |
BIT |
DK_CM_SMALLINT |
BLOB |
byte[] |
BLOB |
BLOB |
BLOB |
BLOB |
BLOB |
DK_CM_BLOB |
CHAR |
java.lang.String |
CHAR, GRAPHIC |
CHAR |
CHAR |
CHAR |
CHAR |
DK_CM_CHAR |
CLOB |
java.lang.String |
CLOB, DBCLOB |
CLOB |
CLOB |
CLOB |
CLOB |
DK_CM_CLOB |
DATE |
java.sql.Date |
DATE |
DATE |
DATE |
DATE |
DATE |
DK_CM_DATE |
DECIMAL |
java.math.BigDecimal |
DECIMAL |
NUMBER |
DECIMAL, MONEY, SMALLMONEY |
DECIMAL |
DECIMAL |
DK_CM_DECIMAL |
DOUBLE |
java.lang.Double |
DOUBLE |
DOUBLE PRECISION |
DOUBLE PRECISION |
DOUBLE PRECISION |
DOUBLE PRECISION |
DK_CM_DOUBLE |
FLOAT |
java.lang.Double |
FLOAT |
FLOAT |
FLOAT |
FLOAT |
FLOAT |
DK_CM_DOUBLE |
INTEGER |
java.lang.Integer |
INTEGER |
INTEGER |
INT |
INTEGER |
INTEGER |
DK_CM_INTEGER |
JAVA_OBJECT |
java.lang.Object |
JAVA_OBJECT |
JAVA_OBJECT |
JAVA_OBJECT |
JAVA_OBJECT |
OPAQUE |
N/A |
LONGVARBINARY |
byte[] |
LONG VARCHAR FOR BIT DATA |
LONG RAW |
IMAGE |
IMAGE |
BYTE |
DK_CM_BLOB |
LONGVARCHAR |
java.lang.String |
LONG VARCHAR, LONG VARGRAPHIC |
LONG |
TEXT |
TEXT |
TEXT |
DK_CM_VARCHAR(3500) |
NUMERIC |
java.math.BigDecimal |
NUMERIC |
NUMBER |
NUMERIC |
NUMERIC |
NUMERIC |
DK_CM_DECIMAL |
OTHER |
java.lang.Object |
OTHER |
OTHER |
OTHER |
OTHER |
OTHER |
N/A |
REAL |
java.lang.Float |
REAL |
REAL |
REAL |
REAL |
REAL |
DK_CM_DOUBLE |
SMALLINT |
java.lang.Integer |
SMALLINT |
SMALLINT |
SMALLINT |
SMALLINT |
SMALLINT |
DK_CM_INTEGER |
TIME |
java.sql.Time |
TIME |
DATE |
TIME |
TIME |
DATETIME HOUR TO SECOND |
DK_CM_TIME |
TIMESTAMP |
java.sql.Timestamp |
TIMESTAMP |
DATE |
DATETIME, SMALLDATETIME |
DATETIME |
DATETIME YEAR TO FRACTION (5) |
DK_CM_TIMESTAMP |
TINYINT |
java.lang.Bute |
SMALLINT |
TINYINT |
TINYINT |
TINYINT |
TINYINT |
DK_CM_INTEGER |
VARBINARY |
byte[] |
VARCHAR FOR BIT DATA |
RAW |
VARBINARY |
IMAGE |
BYTE |
DK_CM_BLOB |
VARCHAR |
java.lang.String |
VARCHAR, VARGRAPHIC |
VARCHAR |
VARCHAR |
VARCHAR |
VARCHAR |
DK_CM_VARCHAR |
相关推荐
在 MyBatis 框架中,`jdbcType` 起到了桥梁的作用,使得 Java 类型的数据能够正确地转换为 SQL 语句中的对应类型。以下是对 MyBatis 常用的 `jdbcType` 数据类型的详细解释: 1. **BIT**: 用于存储单个二进制位,...
6. **MyBatis自动类型匹配**:如果未显式指定`jdbcType`,MyBatis会根据Java类型的默认JDBC类型进行匹配。但有些情况下,如日期时间类型,可能需要显式指定以避免精度损失或格式错误。 通过以上内容,我们了解了...
`TypeHandlerCallback`是iBatis(或MyBatis)中的一个重要接口,用于处理Java类型与数据库类型之间的转换。在处理数据库操作时,数据的类型转换是必不可少的步骤,因为Java类型和数据库存储的数据类型往往不完全匹配...
在这个自定义实现类中,你需要覆盖`getJdbcTypeForBigDecimal`等方法,以便在处理tinyint类型时返回Integer对应的jdbcType。 2. **直接在XML映射文件中修改**: 如果只是个别字段需要映射为Integer,可以在对应的...
`jdbcType`是数据库驱动用来识别Java类型与数据库列类型对应关系的关键。 `JdbcTypeInterceptor`是一个拦截器,实现了MyBatis的`Interceptor`接口,它拦截`ParameterHandler`类的`setParameters`方法,即在执行SQL...
在Mybatis中,TypeHandler起着至关重要的作用,它是Mybatis处理Java类型与JDBC类型之间转换的桥梁。这篇博文将深入探讨Mybatis的TypeHandler机制及其在实际开发中的应用。 TypeHandler的主要职责是将Java类型的参数...
MyBatis的TypeHandler是处理Java类型与JDBC类型之间转换的关键组件。当我们在映射文件中配置SQL语句时,MyBatis会根据TypeHandler来处理Java对象与数据库字段之间的数据转换。对于枚举类型,MyBatis默认并没有内置的...
它维护了一个映射,将Java类型与对应的TypeHandler实例关联起来,使得MyBatis在处理SQL查询和结果映射时能够正确地转换数据库数据到Java对象,以及将Java对象转换为SQL语句中的参数。 2. **TypeAliasRegistry.java*...
`@MappedJdbcTypes(JdbcType.VARCHAR)`注解表示此TypeHandler适用于JDBC的VARCHAR类型,因为通常JSON数据以字符串形式存储在数据库中。 类中有一个静态的`ObjectMapper`实例,这是Jackson库的主要组件,用于读取和...
在XML映射文件中,确保日期时间字段使用`jdbcType`属性指定对应的数据库类型。例如: ```xml <id property="id" column="id" jdbcType="INTEGER" /> <result property="createDate" column="create_date" ...
在MyBatis中,`jdbcType`用于指定Java类型对应的数据库列类型,这有助于确保数据类型的一致性,避免在数据库交互过程中出现数据类型转换错误。在上述示例中,如果没有明确指定`jdbcType`,MyBatis可能无法正确地识别...
通过自定义枚举类型转换器,我们可以确保枚举值在数据库和Java对象之间正确、安全地转换,提高代码的可读性和可维护性。这个项目示例将帮助开发者更好地理解和掌握这一技术,并能在实际项目中灵活应用。
- **探索映射SQL语句**:在MyBatis中,SQL语句被封装在映射文件中,每个映射文件对应一个特定的数据表操作。 #### 三、映射文件详解 - **命名空间**:为避免SQL语句的标识符冲突,每个映射文件都有一个唯一的命名...
在Ibatis中,我们不能直接将枚举类型作为参数传递给SQL语句,因为枚举类在数据库中没有对应的列类型。因此,我们需要创建一个枚举转换器来处理枚举和字符串(或其他数据库可识别的类型)之间的转换。这里我们可以...
TypeHandler是`iBatis`处理Java类型和JDBC类型之间转换的接口。通过创建一个自定义的TypeHandler,我们可以实现将中文字符串转化为数据库能识别的格式,如Base64编码,存储到数据库中;在读取时,再将数据解码回中文...
5. **jdbcType**:JDBC的类型,对应于SQL语句中的类型。在某些情况下,如Oracle的CLOB类型,可能需要指定。 6. **property**:Java对象的属性名,这个属性会接收来自数据库列的值。 7. **discriminator**:用于...
`JdbcType OTHER` 表示 MyBatis 使用了一个默认的 JDBC 类型来处理该参数,但显然数据库并不识别这种类型。 #### 解决方案 为了解决上述问题,可以在映射文件中为每个可能为空的参数显式指定其对应的 JDBC 类型。...
这里,`id`, `result`标签分别表示主键和普通字段,`property`属性对应Java对象的字段名,`column`属性对应数据库表的列名,`jdbcType`则是JDBC类型,用于优化数据类型转换。 Mybatis还支持关联映射,如一对多、多...
在MyBatis中,枚举类型的自动转换是一个常见的需求,特别是在处理数据库字段与Java枚举类型之间转换时。本文将详细介绍如何在MyBatis中实现枚举的自动转换,以便在查询结果返回时能直接得到对应的枚举实例,无需额外...
- **支持的JDBC类型**:MyBatis支持多种JDBC类型,可以映射到Java类型。 ```xml <result property="birthday" column="birthday" jdbcType="DATE" javaType="java.sql.Date"/> ``` - **Constructor元素**:用于...