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

MyBatis中的JdbcType映射使用詳解

 更新時(shí)間:2020年11月24日 08:34:58   作者:bisal  
這篇文章主要介紹了MyBatis中的JdbcType映射使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

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配置化,需要定制開(kāi)發(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ō)明,引自:http://www.mybatis.org/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html

另外,以下介紹給出了JdbcType和Oracle以及MySQL,相互之間的映射關(guān)系,比較詳細(xì):

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

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

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

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

2. Mybatis JdbcType官方文檔

Mybatis JdbcType官方文檔

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

3. 說(shuō)明

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

4. 更新日志

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

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

以上這篇MyBatis中的JdbcType映射使用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot validator參數(shù)驗(yàn)證restful自定義錯(cuò)誤碼響應(yīng)方式

    SpringBoot validator參數(shù)驗(yàn)證restful自定義錯(cuò)誤碼響應(yīng)方式

    這篇文章主要介紹了SpringBoot validator參數(shù)驗(yàn)證restful自定義錯(cuò)誤碼響應(yīng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java通過(guò)賣票理解多線程

    Java通過(guò)賣票理解多線程

    本文主要介紹了一個(gè)多線程賣票的例子,通過(guò)賣票這個(gè)實(shí)例來(lái)介紹多線程的方式,加深理解,需要的朋友可以參考下
    2017-09-09
  • Spring?Boot整合持久層之JPA多數(shù)據(jù)源

    Spring?Boot整合持久層之JPA多數(shù)據(jù)源

    JPA(Java Persistence API)Java 持久化 API,是 Java 持久化的標(biāo)準(zhǔn)規(guī)范,Hibernate 是持久化規(guī)范的技術(shù)實(shí)現(xiàn),而 Spring Data JPA 是在 Hibernate 基礎(chǔ)上封裝的一款框架
    2022-08-08
  • 基于Java實(shí)現(xiàn)的大樂(lè)透號(hào)碼生成器工具類

    基于Java實(shí)現(xiàn)的大樂(lè)透號(hào)碼生成器工具類

    大樂(lè)透是中國(guó)體育彩票的一種玩法,是國(guó)家體育總局體彩中心為適應(yīng)市場(chǎng)發(fā)展需要。本文為大家準(zhǔn)備了一個(gè)大樂(lè)透號(hào)碼生成器工具類,感興趣的可以了解一下
    2022-08-08
  • Java中使用WebUploader插件上傳大文件單文件和多文件的方法小結(jié)

    Java中使用WebUploader插件上傳大文件單文件和多文件的方法小結(jié)

    這篇文章主要介紹了Java中使用WebUploader插件上傳大文件單文件和多文件的方法小結(jié)的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • SpringBoot實(shí)戰(zhàn):Spring如何找到對(duì)應(yīng)轉(zhuǎn)換器優(yōu)雅使用枚舉參數(shù)

    SpringBoot實(shí)戰(zhàn):Spring如何找到對(duì)應(yīng)轉(zhuǎn)換器優(yōu)雅使用枚舉參數(shù)

    這篇文章主要介紹了SpringBoot實(shí)戰(zhàn)中Spring是如何找到對(duì)應(yīng)轉(zhuǎn)換器優(yōu)雅的使用枚舉參數(shù),文中附有詳細(xì)的實(shí)例代碼有需要的朋友可以參考下,希望可以有所幫助
    2021-08-08
  • SpringBoot項(xiàng)目從18.18M瘦身到0.18M的實(shí)現(xiàn)

    SpringBoot項(xiàng)目從18.18M瘦身到0.18M的實(shí)現(xiàn)

    本文主要介紹了SpringBoot項(xiàng)目從18.18M瘦身到0.18M的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 淺談Java內(nèi)存泄露

    淺談Java內(nèi)存泄露

    內(nèi)存泄漏(Memory Leak)是指程序中己動(dòng)態(tài)分配的堆內(nèi)存由于某種原因程序未釋放或無(wú)法釋放,造成系統(tǒng)內(nèi)存的浪費(fèi),導(dǎo)致程序運(yùn)行速度減慢甚至系統(tǒng)崩潰等嚴(yán)重后果。下面我們來(lái)一起了解如何解決
    2019-05-05
  • Spring中@PropertySource的使用方法和運(yùn)行原理詳解

    Spring中@PropertySource的使用方法和運(yùn)行原理詳解

    這篇文章主要介紹了Spring中@PropertySource的使用方法和運(yùn)行原理詳解,PropertySource注解可以方便和靈活的向Spring的環(huán)境容器(org.springframework.core.env.Environment?Environment)中注入一些屬性,這些屬性可以在Bean中使用,需要的朋友可以參考下
    2023-11-11
  • 一文簡(jiǎn)介Java中BlockingQueue阻塞隊(duì)列

    一文簡(jiǎn)介Java中BlockingQueue阻塞隊(duì)列

    本文主要介紹了一文簡(jiǎn)介Java中BlockingQueue阻塞隊(duì)列,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論