更新時(shí)間:2021-03-05 16:14:29 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2718次
mybatis在開發(fā)中作為一個(gè)ORM框架使用的比較多,所謂ORM指的是Object Relation Mapping,直譯過來就是對(duì)象關(guān)系映射,這個(gè)映射指的是java中的對(duì)象和數(shù)據(jù)庫中的記錄的映射,也就是一個(gè)java對(duì)象映射數(shù)據(jù)庫中的一條記錄。了解了mybatis的背景及作用下面看mybatis的使用及從源碼分析啟動(dòng)過程。

一、概述
要使用mybatis必須要引入mybatis的jar包,由于我這里需要查看源碼,使用的mybatis源碼作為依賴。首先需要下載源碼,可執(zhí)行從github上下載,mybatis下載下來是maven工程,按照maven導(dǎo)入的方式進(jìn)行導(dǎo)入即可,詳細(xì)的步驟在這里不在贅述。
引入了mybatis的依賴便可以開發(fā)mybatis的程序,我這里使用的源碼版本為:3-3.4.x版本。
1、核心配置文件
mybatis核心配置文件,一般命名為mybatis-config.xml,說是核心配置文件一點(diǎn)也不錯(cuò),這個(gè)文件包含了使用mybatis的時(shí)候的所有配置,只有正確加載了此文件,mybatis才可正常工作。下面是mybatis-config.xml文件,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 設(shè)置日志輸出為LOG4J -->
<setting name="logImpl" value="LOG4J" />
<!--將以下畫線方式命名的數(shù)據(jù)庫列映射到 Java 對(duì)象的駝峰式命名屬性中-->
<setting name= "mapUnderscoreToCamelCase" value="true" />
</settings>
<!--簡化類命名空間 -->
<typeAliases>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://127.0.0.1:3306/test" />
<property name="username" value="user" />
<property name="password" value="user" />
</dataSource>
</environment>
</environments>
<mappers>
<!--常規(guī)做法-->
<mapper resource="cn/com/mybatis/dao/UserMapper.xml"/>
<mapper resource="cn/com/mybatis/dao/MenuMapper.xml"/>
<!--第二種做法-->
<!--
<package name="cn.com.mybatis.dao"/>
-->
</mappers>
</configuration>
上面是一個(gè)mybatis-config.xml文件的實(shí)例,在configuration標(biāo)簽中配置了mappers、settings、environments等標(biāo)簽,這些標(biāo)簽代表的意思及如何解析在后面會(huì)詳細(xì)分析。
這里sql的配置方式有注解和映射文件兩種方式,這里采用映射文件的方式,所以在mybatis-config.xml文件中配置了Mapper文件,下面看UserMapper.xml文件,
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.com.mybatis.dao.UserMapper">
<select id="selectUser" resultType="hashmap">
select * from e_user
</select>
</mapper>
上面的UserMapper.xml只有一個(gè)select標(biāo)簽,另外在mapper標(biāo)簽中配置了namespace屬性,這個(gè)屬性很關(guān)鍵,代表的是一個(gè)應(yīng)映射文件對(duì)應(yīng)的接口。下面看UserMapper接口,
package cn.com.mybatis.dao;
import java.util.HashMap;
import java.util.List;
public interface UserMapper {
public List<HashMap> selectUser();
}
細(xì)心的讀者會(huì)發(fā)現(xiàn)接口中的方法名和映射文件中的select標(biāo)簽的id是一樣的,沒錯(cuò)這里必須是一致,必須一一對(duì)應(yīng),至于為什么要保持一致,后面會(huì)通過源碼分析,并且在一同一個(gè)namespace中不能包含同名的方法,也就是映射文件中的id不允許重復(fù)。
有了上面的這些配置,便可以開始mybatis之旅了,下面看下每個(gè)文件的位置,

零基礎(chǔ)學(xué)習(xí)MyBatis,小編推薦動(dòng)力節(jié)點(diǎn)Mybatis視頻教程,通過本課程的學(xué)習(xí),可以在最短的時(shí)間內(nèi)學(xué)會(huì)使用持久層框架MyBatis,在該視頻中沒有廢話,都是干貨,該視頻的講解不是學(xué)術(shù)性研究,項(xiàng)目中用什么,這里就講什么,如果您現(xiàn)在項(xiàng)目中馬上要使用MyBatis框架,那么您只需要學(xué)習(xí)完此教程,就可以順利的使用MyBatis開發(fā)了。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Mybatis源碼解析視頻,手把手帶你實(shí)踐”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)