亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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中部分沒有對(duì)應(yīng)到Oracle和Mysql的數(shù)據(jù)類型中(或許由于自己遺漏),不過不用擔(dān)心,后續(xù)大家碰到再具體分析;同時(shí)上述對(duì)應(yīng)關(guān)系不一定是一一對(duì)應(yīng),請(qǐng)大家了解。

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

2. Mybatis JdbcType官方文檔

Mybatis JdbcType官方文檔

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

3. 說明

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

4. 更新日志

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

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

補(bǔ)充知識(shí):MyBatis 指定JdbcType. 如#{name,jdbcType=VARCHAR}

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

加入jdbcType正是為了解決這樣的報(bào)錯(cuò),需要針對(duì)這些可能為空的字段,手動(dòng)指定其轉(zhuǎn)換時(shí)用到的類型。

一般情況下,我們沒有必要按個(gè)字段去識(shí)別/判斷它是否可以為空,而是將所有的字段都當(dāng)做可以為空,全部手動(dòng)設(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ù)類型對(duì)應(yīng)關(guān)系說明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論