本文将为您提供关于MyBatis常用的jdbcType数据类型的详细介绍,我们还将为您解释mybatisjdbctype数据类型的相关知识,同时,我们还将为您提供关于ibatis/Mybatis配备调
本文将为您提供关于MyBatis常用的jdbcType数据类型的详细介绍,我们还将为您解释mybatis jdbctype数据类型的相关知识,同时,我们还将为您提供关于ibatis/Mybatis 配备调用存储过程,jdbctype配置、Mybaitis JdbcType 和javaType、MyBatis JdbcType 与Oracle、MySql数据类型对照表、Mybatis JdbcType与Oracle、MySql 数据类型对应关系的实用信息。
本文目录一览:- MyBatis常用的jdbcType数据类型(mybatis jdbctype数据类型)
- ibatis/Mybatis 配备调用存储过程,jdbctype配置
- Mybaitis JdbcType 和javaType
- MyBatis JdbcType 与Oracle、MySql数据类型对照表
- Mybatis JdbcType与Oracle、MySql 数据类型对应关系
MyBatis常用的jdbcType数据类型(mybatis jdbctype数据类型)
这篇文章主要介绍了MyBatis常用的jdbcType数据类型的相关资料,需要的朋友可以参考下
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
Mybatis中javaType和jdbcType对应和CRUD例子
Mybatis中javaType和jdbcType对应关系
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]
以上所述是小编给大家介绍的MyBatis常用的jdbcType数据类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小编网站的支持!
ibatis/Mybatis 配备调用存储过程,jdbctype配置
ibatis 配置调用存储过程,jdbctype配置
数据库存储过程如下:
procedure p_project_details_stat
(
i_date_start in varchar2,
i_date_end in varchar2,
i_range_start in number,
i_range_end in number,
i_org_id in number,
i_species_id IN VARCHAR2,
i_query_user_id in number,
o_report_id out number
)
配置调用如下:
<parameterMap id="proMap">
<parameter property="complainDateStart" javaType="java.lang.String" mode="IN" jdbcType="VARCHAR" />
<parameter property="complainDateEnd" javaType="java.lang.String" mode="IN" jdbcType="VARCHAR" />
<parameter property="priceOne" javaType="java.math.BigDecimal" mode="IN" jdbcType="NUMBER" />
<parameter property="priceTwo" javaType="java.math.BigDecimal" mode="IN" jdbcType="NUMBER" />
<parameter property="orgId" javaType="java.math.BigDecimal" mode="IN" jdbcType="NUMBER" />
<parameter property="speciesIdList" javaType="java.lang.String" mode="IN" jdbcType="VARCHAR" />
<parameter property="userId" javaType="java.math.BigDecimal" mode="IN" jdbcType="NUMBER" />
<parameter property="reportId" javaType="java.math.BigDecimal" mode="OUT" jdbcType="NUMBER" />
</parameterMap>
<procedure id="generateProjectDetial" parameterMap="proMap">
<![CDATA[
CALL szzc_stat.p_project_details_stat(?,?,?,?,?,?,?,?)
]]>
</procedure>
老是报:
--- Check the CALL szzc_stat.p_project_details_stat(?,?,?,?,?,?,?,?).
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: 无效的列类型: -99999999
网上查找资料:
后来查看java.sql.Types类中有关JDBC类型变量类型,并没有发“NUMBER”这一静态字段,而只有“NUMERIC”字段。(因此 jdbcType 的值不是数据库ORACLE的参数类型,而是其对应的JDBC变量类型)
但改了之后依然报同样错误。
后来发现在java.sql.Types类中还有一个DECIMAL静态常量,与javaType定义的java.math.BigDecimal类型一致。
再修改测试则通过,不再报错。
所以“无效的列类型”异常解决方法,根据存储过程的参数类型找出正确的jdbcType(具体参考java.sql.Types类的JDBC静态变量)。
正确配置:
<parameterMap id="proMap">
<parameter property="complainDateStart" javaType="java.lang.String" mode="IN" jdbcType="VARCHAR" />
<parameter property="complainDateEnd" javaType="java.lang.String" mode="IN" jdbcType="VARCHAR" />
<parameter property="priceOne" javaType="java.math.BigDecimal" mode="IN" jdbcType="DECIMAL" />
<parameter property="priceTwo" javaType="java.math.BigDecimal" mode="IN" jdbcType="DECIMAL" />
<parameter property="orgId" javaType="java.math.BigDecimal" mode="IN" jdbcType="DECIMAL" />
<parameter property="speciesIdList" javaType="java.lang.String" mode="IN" jdbcType="VARCHAR" />
<parameter property="userId" javaType="java.math.BigDecimal" mode="IN" jdbcType="DECIMAL" />
<parameter property="reportId" javaType="java.math.BigDecimal" mode="OUT" jdbcType="DECIMAL" />
</parameterMap>
<procedure id="generateProjectDetial" parameterMap="proMap">
<![CDATA[
CALL szzc_stat.p_project_details_stat(?,?,?,?,?,?,?,?)
]]>
</procedure>
mybatis/xml配置文件:
参考 oracle存储过程
jdbcType类型:
数据库类型与JDBC TYPE 和Java类型对应关系
SQL Datatypes |
JDBC Typecodes |
Standard Java Types |
Java取值范围 |
NUMBER |
java.sql.Types.NUMERIC |
java.math.BigDecimal |
无限制 |
NUMBER |
java.sql.Types.DECIMAL |
java.math.BigDecimal |
无限制 |
NUMBER |
java.sql.Types.BIT |
boolean |
true,false |
NUMBER |
java.sql.Types.TINYINT |
byte |
from –128 to 127 |
NUMBER |
java.sql.Types.SMALLINT |
short |
from –32768 to 32767 |
NUMBER |
java.sql.Types.INTEGER |
int |
From –2147483648 to 2147483647 |
NUMBER |
java.sql.Types.BIGINT |
long |
From –9223372036854775808 to 9223372036854775807 |
NUMBER |
java.sql.Types.REAL |
float |
From 1.4E-45 To 3.4028235E38 |
NUMBER |
java.sql.Types.FLOAT |
double |
From 4.9E-324 to 1.7976931348623157E308 |
NUMBER |
java.sql.Types.DOUBLE |
double |
Mybaitis JdbcType 和javaType
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
Mybatis中javaType和jdbcType对应和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>
Mybatis中javaType和jdbcType对应关系

- 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]
MyBatis JdbcType 与Oracle、MySql数据类型对照表
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官方文档
Mybatis JdbcType与Oracle、MySql 数据类型对应关系
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
------------------------------------------------------------------------------------------------------------------
Mybatis中javaType和jdbcType对应和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>
一、 Mybatis JDBCType与JavaType数据类型对应列表
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]
----------------------------------------------------------------------------
二、 Mybatis JdbcType与Oracle、MySql
https://blog.csdn.net/loongshawn/article/details/50496460
今天关于MyBatis常用的jdbcType数据类型和mybatis jdbctype数据类型的分享就到这里,希望大家有所收获,若想了解更多关于ibatis/Mybatis 配备调用存储过程,jdbctype配置、Mybaitis JdbcType 和javaType、MyBatis JdbcType 与Oracle、MySql数据类型对照表、Mybatis JdbcType与Oracle、MySql 数据类型对应关系等相关知识,可以在本站进行查询。
本文标签: