jdbcType 的作用
使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错误,也就是无效的列类型,这个时候你就要使用jdbcType。
<resultMap id="productResultMap" type="com.louzen.ssm.domain.Product">
<id column="id" jdbcType="INTEGER" property="id"/>
<id column="t_id" jdbcType="INTEGER" property="tid"/>
<result column="p_name" jdbcType="VARCHAR" property="name"/>
<result column="p_time" jdbcType="DATE" property="time"/>
<result column="p_image" jdbcType="VARCHAR" property="image"/>
<result column="p_price" jdbcType="DECIMAL" property="price"/>
<result column="p_state" jdbcType="INTEGER" property="state"/>
<result column="p_info" jdbcType="VARCHAR" property="info"/>
</resultMap>
javaType 的作用
指定POJO中属性的java类型,用全限定名来写
jdbcType 与 javaType 的类型对应
| jdbcType | javaType |
|---|---|
| CHAR | String |
| VARCHAR | String |
| LONGVARCHAR | String |
| NUMERIC | java.math.BigDecimal |
| DECIMAL | java.math.BigDecimal |
| BIT | boolean |
| BOOLEAN | boolean |
| TINYINT | byte |
| SMALLINT | short |
| INTEGER | INTEGER |
| BIGINT | long |
| REAL | float |
| FLOAT | double |
| DOUBLE | double |
| BINARY | byte[] |
| VARBINARY | byte[] |
| LONGVARBINARY | byte[] |
| DATE | java.sql.Date |
| TIME | java.sql.Time |
| TIMESTAMP | java.sql.Timestamp |
| CLOB | Clob |
| BLOB | Blob |
| ARRAY | Array |
| DISTINCT | mapping of underlying type |
| STRUCT | Struct |
| REF | Ref |
| DATALINK | java.net.URL |
本文探讨了MyBatis中jdbcType和javaType的重要性。jdbcType在字段为空时防止1111错误,确保有效列类型。javaType用于指定POJO属性的Java类型。同时,文章还详细阐述了jdbcType与javaType之间的类型映射关系。
503

被折叠的 条评论
为什么被折叠?



