MyBatis中的JdbcType映射使用介紹
MyBatis JdbcType映射介紹
Java項(xiàng)目涉及到數(shù)據(jù)庫(kù)交互,以往常用的是JDBC,現(xiàn)在則有Hibernate、Mybatis等這些持久化支持。
項(xiàng)目中用到了MyBatis,和JDBC最顯著的區(qū)別,就是SQL語(yǔ)句配置化,通過(guò)xml文件定義SQL語(yǔ)句,當(dāng)然JDBC也可以將SQL配置化,需要定制開發(fā),MyBatis則直接支持這種方法。
官方對(duì)于MyBatis的介紹
MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.
簡(jiǎn)單來(lái)講,MyBatis幾乎屏蔽了所有JDBC代碼,用一種簡(jiǎn)單的xml,或者注解,就能完成數(shù)據(jù)庫(kù)交互。
xml配置文件,可用MyBatis自己定義的數(shù)據(jù)類型,引自:http://www.mybatis.org/mybatis-3/configuration.html
Associated JDBC type can be specified by two means:
Adding a jdbcType attribute to the typeHandler element (for example: jdbcType="VARCHAR").
Adding a @MappedJdbcTypes annotation to your TypeHandler class specifying the list of JDBC types to associate it with. This annotation will be ignored if the jdbcType attribute as also been specified.
例如下面的配置,指定companyid參數(shù)類型為BIGINT,
<select id='getMeetingnoByCompanyid' parameterType="java.lang.Integer" resultType="java.lang.String"> select a.meetingno from xxx a where a.companyid = #{companyid, jdbcType=BIGINT} </select>
對(duì)于jdbcType,MyBatis的API文檔有說(shuō)明
另外,這篇文章,給出了JdbcType和Oracle以及MySQL
相互之間的映射關(guān)系,比較詳細(xì),引自:http://www.dbjr.com.cn/article/195686.htm
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 | 修改為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 |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- MyBatis的JdbcType與Oracle、MySql數(shù)據(jù)類型一覽表
- 淺談MyBatis所有的jdbcType類型
- MyBatis中的JdbcType映射使用詳解
- MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對(duì)應(yīng)關(guān)系說(shuō)明
- Mybatis工具類JdbcTypeInterceptor運(yùn)行時(shí)自動(dòng)添加jdbcType屬性
- MyBatis常用的jdbcType數(shù)據(jù)類型
- MySQL text類型對(duì)應(yīng)mybatis jdbcType類型方式
相關(guān)文章
IDEA生成patch和使用patch的方法實(shí)現(xiàn)
比如你本地修復(fù)的 bug,需要把增量文件發(fā)給客戶,很多場(chǎng)景下大家都需要手工整理修改的文件,并整理好目錄,這個(gè)很麻煩,那有沒(méi)有簡(jiǎn)單的技巧呢?本文主要介紹了IDEA生成patch和使用patch的方法實(shí)現(xiàn),感興趣的可以了解一下2023-08-08Spring切入點(diǎn)表達(dá)式配置過(guò)程圖解
這篇文章主要介紹了Spring切入點(diǎn)表達(dá)式配置過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08SpringBoot JS-SDK自定義微信分享的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot JS-SDK自定義微信分享的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09解決JAVA項(xiàng)目啟動(dòng)卡住,無(wú)任何異常信息的問(wèn)題
這篇文章主要介紹了解決JAVA項(xiàng)目啟動(dòng)卡住,無(wú)任何異常信息的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03