這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么對Mybatis進(jìn)行全局配置,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供寧陽企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為寧陽眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進(jìn)行中。總體介紹:MyBatis實際上是Ibatis3.0版本以后的持久化層框架【也就是和數(shù)據(jù)庫打交道的框架】!
和數(shù)據(jù)庫打交道的技術(shù)有:
原生的JDBC技術(shù)--->Spring的JdbcTemplate技術(shù)
這些工具都是提供簡單的SQL語句的執(zhí)行,但是和我們這里學(xué)的MyBatis框架還有些不同,
框架是一整套的東西,例如事務(wù)控制,查詢緩存,字段映射等等。
我們用原生JDBC操作數(shù)據(jù)庫的時候都會經(jīng)過:
編寫sql---->預(yù)編譯---->設(shè)置參數(shù)----->執(zhí)行sql------->封裝結(jié)果
我們之所以不使用原生的JDBC工具,是因為這些工具:
1.功能簡單,sql語句編寫在java代碼里面【一旦修改sql,就需要將java及sql都要重新編譯!】這屬于硬編碼高耦合的方式。
2.我們希望有開發(fā)人員自己編寫SQL語句,并且希望SQL語句與java代碼分離,將SQL語句編寫在xml配置文件中,實現(xiàn)數(shù)據(jù)表中記錄到對象之間的映射!
sql和java編碼分開,功能邊界清晰,一個專注于業(yè)務(wù),一個專注于數(shù)據(jù),可以使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJO映射成數(shù)據(jù)庫中的記錄,完成業(yè)務(wù)+底層數(shù)據(jù)庫的媒介!
1.MyBatis歷史
原是Apache的一個開源項目iBatis, 2010年6月這 個項目由Apache Software Foundation 遷移
到了 Google Code,隨著開發(fā)團隊轉(zhuǎn)投Google Code 旗下, iBatis3.x正式更名為MyBatis ,代碼于 2013年11月遷移到Github(下載地址見后)。
iBatis一詞來源于“internet”和“abatis”的組合,是 一個基于Java的持久層框架。
iBatis提供的持久 層框架包括SQL Maps和Data Access Objects、(DAO)
2.MyBatis簡介:
MyBatis 是支持定制化 SQL、存儲過程以及高級 映射的優(yōu)秀的持久層框架
MyBatis 避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集
MyBatis可以使用簡單的XML或注解用于配置和原 始映射,將接口和
Java的POJO(Plain Old JavaObjects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄.
3.為什么要使用MyBatis?
MyBatis是一個半自動化的輕量級的持久化層框架。
JDBC
– SQL夾在Java代碼塊里,耦合度高導(dǎo)致硬編碼內(nèi)傷
– 維護不易且實際開發(fā)需求中sql是有變化,頻繁修改的情況多見
Hibernate和JPA
– 長難復(fù)雜SQL,對于Hibernate而言處理也不容易
– 內(nèi)部自動生產(chǎn)的SQL,不容易做特殊優(yōu)化。
– 基于全映射的全自動框架,大量字段的POJO進(jìn)行部分映射時比較困難。 導(dǎo)致數(shù)據(jù)庫性能下降。
對開發(fā)人員而言,核心sql還是需要自己優(yōu)化
sql和java編碼分開,功能邊界清晰,一個專注業(yè)務(wù)、 一個專注數(shù)據(jù)。
4.去哪里找MyBatis?
https://github.com/mybatis/mybatis-3/
或者在百度直接搜索mybatis,然后找到github下的地址下載即可!
寫一個 MyBatis 的 HelloWorld:
- 創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表并插入數(shù)據(jù)
- 創(chuàng)建一個動態(tài)WEB工程,然后創(chuàng)建與上述數(shù)據(jù)表對應(yīng)的實體類
- [參考mybatis官方文檔]加入需要的jar包[mybatis所需要的jar包,和數(shù)據(jù)庫打交道的jar包,以及看打印日志所需要的log4j的jar包]:
1.log4j-1.2.17.jar 注意:log4j的jar包是需要log4j.xml文件的
2.mybatis-3.4.1.jar
3.mysql-connector-java-5.1.37-bin.jar
- 創(chuàng)建 mybatis-config.xml 文件并將 mybatis 文檔中的內(nèi)容復(fù)制過來,并將數(shù)據(jù)庫配置信息換成自己的:
mybatis-config.xml 是總控制文件,EmployeeMapper.xml 是MyBatis的 sql映射文件,在里面也 sql 語句
所有的 sql映射文件都會寫到總控文件中
"http://mybatis.org/dtd/mybatis-3-config.dtd">