欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對應關(guān)系說明

 更新時間:2020年09月15日 12:46:13   作者:loongshawn  
這篇文章主要介紹了MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對應關(guān)系說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1. Mybatis JdbcType與Oracle、MySql數(shù)據(jù)類型對應列表

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–>修改為TEXT
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/DATETIME
JdbcType TINYINT TINYINT
JdbcType UNDEFINED
JdbcType VARBINARY
JdbcType VARCHAR VARCHAR VARCHAR

注意到, MyBatis的JdbcType中部分沒有對應到Oracle和Mysql的數(shù)據(jù)類型中(或許由于自己遺漏),不過不用擔心,后續(xù)大家碰到再具體分析;同時上述對應關(guān)系不一定是一一對應,請大家了解。

大家主要掌握基本的數(shù)字、時間、字符串就足以應對日常開發(fā)了。

2. Mybatis JdbcType官方文檔

Mybatis JdbcType官方文檔

查閱Mybatis JdbcType官方文檔是很有必要的!

3. 說明

對于自己不肯定的,調(diào)整代碼多嘗試下,能夠使自己加深印象!

4. 更新日志

2017-04-26 修改內(nèi)容:MySQL中沒有CLOB類型,謝謝@火靈 指正。

Mybatis JdbcType Oracle MySql
JdbcType CLOB CLOB CLOB–>修改為TEXT

補充知識:MyBatis 指定JdbcType. 如#{name,jdbcType=VARCHAR}

在執(zhí)行SQL時MyBatis會自動通過對象中的屬性給SQL中參數(shù)賦值,它會自動將Java類型轉(zhuǎn)換成數(shù)據(jù)庫的類型。而一旦傳入的是null 程序就無法準確判斷這個類型應該是什么(是Integer?是VARCHAR?還是別的?),就有可能將類型轉(zhuǎn)換錯誤,從而報錯。

加入jdbcType正是為了解決這樣的報錯,需要針對這些可能為空的字段,手動指定其轉(zhuǎn)換時用到的類型。

一般情況下,我們沒有必要按個字段去識別/判斷它是否可以為空,而是將所有的字段都當做可以為空,全部手動設(shè)置轉(zhuǎn)換類型。

 <insert id="save"
parameterType="com.tarena.entity.Cost">
insert into cost values(
cost_seq.nextval,
#{name,jdbcType=VARCHAR},
#{base_duration,jdbcType=INTEGER},
#{base_cost,jdbcType=DOUBLE},
#{unit_cost,jdbcType=DOUBLE},
#{status,jdbcType=CHAR},
#{descr,jdbcType=VARCHAR},
#{creatime,jdbcType=TIMESTAMP},
#{startime,jdbcType=TIMESTAMP},
#{cost_type,jdbcType=CHAR}
)
</insert>

其他數(shù)據(jù)類型參照下圖

以上這篇MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對應關(guān)系說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論