更新時間:2021-03-05 16:14:29 來源:動力節(jié)點 瀏覽2233次
mybatis在開發(fā)中作為一個ORM框架使用的比較多,所謂ORM指的是Object Relation Mapping,直譯過來就是對象關系映射,這個映射指的是java中的對象和數據庫中的記錄的映射,也就是一個java對象映射數據庫中的一條記錄。了解了mybatis的背景及作用下面看mybatis的使用及從源碼分析啟動過程。
一、概述
要使用mybatis必須要引入mybatis的jar包,由于我這里需要查看源碼,使用的mybatis源碼作為依賴。首先需要下載源碼,可執(zhí)行從github上下載,mybatis下載下來是maven工程,按照maven導入的方式進行導入即可,詳細的步驟在這里不在贅述。
引入了mybatis的依賴便可以開發(fā)mybatis的程序,我這里使用的源碼版本為:3-3.4.x版本。
1、核心配置文件
mybatis核心配置文件,一般命名為mybatis-config.xml,說是核心配置文件一點也不錯,這個文件包含了使用mybatis的時候的所有配置,只有正確加載了此文件,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>
<!-- 設置日志輸出為LOG4J -->
<setting name="logImpl" value="LOG4J" />
<!--將以下畫線方式命名的數據庫列映射到 Java 對象的駝峰式命名屬性中-->
<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>
上面是一個mybatis-config.xml文件的實例,在configuration標簽中配置了mappers、settings、environments等標簽,這些標簽代表的意思及如何解析在后面會詳細分析。
這里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只有一個select標簽,另外在mapper標簽中配置了namespace屬性,這個屬性很關鍵,代表的是一個應映射文件對應的接口。下面看UserMapper接口,
package cn.com.mybatis.dao;
import java.util.HashMap;
import java.util.List;
public interface UserMapper {
public List<HashMap> selectUser();
}
細心的讀者會發(fā)現接口中的方法名和映射文件中的select標簽的id是一樣的,沒錯這里必須是一致,必須一一對應,至于為什么要保持一致,后面會通過源碼分析,并且在一同一個namespace中不能包含同名的方法,也就是映射文件中的id不允許重復。
有了上面的這些配置,便可以開始mybatis之旅了,下面看下每個文件的位置,
零基礎學習MyBatis,小編推薦動力節(jié)點Mybatis視頻教程,通過本課程的學習,可以在最短的時間內學會使用持久層框架MyBatis,在該視頻中沒有廢話,都是干貨,該視頻的講解不是學術性研究,項目中用什么,這里就講什么,如果您現在項目中馬上要使用MyBatis框架,那么您只需要學習完此教程,就可以順利的使用MyBatis開發(fā)了。
以上就是動力節(jié)點Java培訓機構的小編針對“Mybatis源碼解析視頻,手把手帶你實踐”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。