MyBatis 通过包含的jdbcType类型

MyBatis JDBC 类型映射
本文详细介绍了 MyBatis 中 Java 类型与 JDBC 类型之间的映射关系,并提供了具体的配置示例。通过理解这些映射,开发者可以更好地进行数据库操作。

MyBatis 通过包含的jdbcType类型

BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINED

TINYINT     REAL       VARCHAR        BINARY          BLOB        NVARCHAR

SMALLINT    DOUBLE     LONGVARCHAR    VARBINARY       CLOB        NCHAR

INTEGER     NUMERIC    DATE           LONGVARBINARY   BOOLEAN     NCLOB

BIGINT      DECIMAL    TIME           NULL            CURSOR

 

 java.sql.Types 值Java 类型IBM DB2OracleSybaseSQLInformixIBM Content Manager
 BIGINTjava.lang.longBIGINTNUMBER (38, 0)BIGINTBIGINTINT8DK_CM_BIGINT
 BINARYbyte[]CHAR FOR BIT DATARAWBINARYIMAGEBYTEDK_CM_BLOB
 BITjava.lang.BooleanN/ABITBITBITBITDK_CM_SMALLINT
 BLOBbyte[]BLOBBLOBBLOBBLOBBLOBDK_CM_BLOB
 CHARjava.lang.StringCHAR, GRAPHICCHARCHARCHARCHARDK_CM_CHAR
 CLOBjava.lang.StringCLOB, DBCLOBCLOBCLOBCLOBCLOBDK_CM_CLOB
 DATEjava.sql.DateDATEDATEDATEDATEDATEDK_CM_DATE
 DECIMALjava.math.BigDecimalDECIMALNUMBERDECIMAL, MONEY, SMALLMONEYDECIMALDECIMALDK_CM_DECIMAL
 DOUBLEjava.lang.DoubleDOUBLEDOUBLE PRECISIONDOUBLE PRECISIONDOUBLE PRECISIONDOUBLE PRECISIONDK_CM_DOUBLE
 FLOATjava.lang.DoubleFLOATFLOATFLOATFLOATFLOATDK_CM_DOUBLE
 INTEGERjava.lang.IntegerINTEGERINTEGERINTINTEGERINTEGERDK_CM_INTEGER
 JAVA_OBJECTjava.lang.ObjectJAVA_OBJECTJAVA_OBJECTJAVA_OBJECTJAVA_OBJECTOPAQUEN/A
 LONGVARBINARYbyte[]LONG VARCHAR FOR BIT DATALONG RAWIMAGEIMAGEBYTEDK_CM_BLOB
 LONGVARCHARjava.lang.StringLONG VARCHAR, LONG VARGRAPHICLONGTEXTTEXTTEXTDK_CM_VARCHAR(3500)
 NUMERICjava.math.BigDecimalNUMERICNUMBERNUMERICNUMERICNUMERICDK_CM_DECIMAL
 OTHERjava.lang.ObjectOTHEROTHEROTHEROTHEROTHERN/A
 REALjava.lang.FloatREALREALREALREALREALDK_CM_DOUBLE
 SMALLINTjava.lang.IntegerSMALLINTSMALLINTSMALLINTSMALLINTSMALLINTDK_CM_INTEGER
 TIMEjava.sql.TimeTIMEDATETIMETIMEDATETIME HOUR TO SECONDDK_CM_TIME
 TIMESTAMPjava.sql.TimestampTIMESTAMPDATEDATETIME, SMALLDATETIMEDATETIMEDATETIME YEAR TO FRACTION (5)DK_CM_TIMESTAMP
 TINYINTjava.lang.ButeSMALLINT

TINYINT

TINYINT

TINYINTTINYINTDK_CM_INTEGER
 VARBINARYbyte[]VARCHAR FOR BIT DATARAWVARBINARYIMAGEBYTEDK_CM_BLOB
 VARCHARjava.lang.StringVARCHAR, VARGRAPHICVARCHARVARCHARVARCHARVARCHARDK_CM_VARCHAR
 

 

MybatisjavaTypejdbcType对应和CRUD例子

<resultMap type="java.util.Map" id="resultjcm">
  <result property="FLD_NUMBER" column="FLD_NUMBER"  javaType="double" jdbcType="NUMERIC"/>
  <result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string" jdbcType="VARCHAR"/>
  <result property="FLD_DATE" column="FLD_DATE" javaType="java.sql.Date" jdbcType="DATE"/>
  <result property="FLD_INTEGER" column="FLD_INTEGER"  javaType="int" jdbcType="INTEGER"/>
  <result property="FLD_DOUBLE" column="FLD_DOUBLE"  javaType="double" jdbcType="DOUBLE"/>
  <result property="FLD_LONG" column="FLD_LONG"  javaType="long" jdbcType="INTEGER"/>
  <result property="FLD_CHAR" column="FLD_CHAR"  javaType="string" jdbcType="CHAR"/>
  <result property="FLD_BLOB" column="FLD_BLOB"  javaType="[B" jdbcType="BLOB" />
  <result property="FLD_CLOB" column="FLD_CLOB"  javaType="string" jdbcType="CLOB"/>
  <result property="FLD_FLOAT" column="FLD_FLOAT"  javaType="float" jdbcType="FLOAT"/>
  <result property="FLD_TIMESTAMP" column="FLD_TIMESTAMP"  javaType="java.sql.Timestamp" jdbcType="TIMESTAMP"/>
 </resultMap>

 

 

MybatisjavaTypejdbcType对应关系

 

JDBC Type			Java Type
CHAR				String
VARCHAR				String
LONGVARCHAR			String
NUMERIC				java.math.BigDecimal
DECIMAL				java.math.BigDecimal
BIT				boolean
BOOLEAN				boolean
TINYINT				byte
SMALLINT			short
INTEGER				int
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[color=red][/color]

转载于:https://my.oschina.net/u/2458549/blog/829940

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值