共計 2286 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要講解了“怎么理解 MyBatis 中的 JdbcType 映射”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“怎么理解 MyBatis 中的 JdbcType 映射”吧!
Java 項目涉及到數據庫交互,以往常用的是 JDBC,現在則有 Hibernate、Mybatis 等這些持久化支持。
項目中用到了 MyBatis,和 JDBC 最顯著的區別,就是 SQL 語句配置化,通過 xml 文件定義 SQL 語句,當然 JDBC 也可以將 SQL 配置化,需要定制開發,MyBatis 則直接支持這種方法。
官方對于 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.
簡單來講,MyBatis 幾乎屏蔽了所有 JDBC 代碼,用一種簡單的 xml,或者注解,就能完成數據庫交互。
xml 配置文件,可用 MyBatis 自己定義的數據類型,引自: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 參數類型為 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
對于 jdbcType,MyBatis 的 API 文檔有說明,引自:http://www.mybatis.org/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html
另外,這篇文章,給出了 JdbcType 和 Oracle 以及 MySQL,相互之間的映射關系,比較詳細,引自:http://blog.csdn.net/loongshawn/article/details/50496460
JdbcTypeOracleMySqlJdbcTypeARRAY
JdbcTypeBIGINT
BIGINTJdbcTypeBINARY
JdbcTypeBIT
BITJdbcTypeBLOBBLOBBLOBJdbcTypeBOOLEAN
JdbcTypeCHARCHARCHARJdbcTypeCLOBCLOB 修改為 TEXTJdbcTypeCURSOR
JdbcTypeDATEDATEDATEJdbcTypeDECIMALDECIMALDECIMALJdbcTypeDOUBLENUMBERDOUBLEJdbcTypeFLOATFLOATFLOATJdbcTypeINTEGERINTEGERINTEGERJdbcTypeLONGVARBINARY
JdbcTypeLONGVARCHARLONG VARCHAR
JdbcTypeNCHARNCHAR
JdbcTypeNCLOBNCLOB
JdbcTypeNULL
JdbcTypeNUMERICNUMERIC/NUMBERNUMERIC/JdbcTypeNVARCHAR
JdbcTypeOTHER
JdbcTypeREALREALREALJdbcTypeSMALLINTSMALLINTSMALLINTJdbcTypeSTRUCT
JdbcTypeTIME
TIMEJdbcTypeTIMESTAMPTIMESTAMPTIMESTAMP/DATETIMEJdbcTypeTINYINT
TINYINTJdbcTypeUNDEFINED
JdbcTypeVARBINARY
JdbcTypeVARCHARVARCHARVARCHAR
感謝各位的閱讀,以上就是“怎么理解 MyBatis 中的 JdbcType 映射”的內容了,經過本文的學習后,相信大家對怎么理解 MyBatis 中的 JdbcType 映射這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!