如下關於配置的學習在Mybatis官網能夠找到,以下圖:html
mybatis-config.xmljava
Mybatis的配置文件包含了會深深影響Mybatis行爲的設置和屬性信息mysql
configuration(配置) properties(屬性) settings(設置) typeAliases(類型別名) typeHandlers(類型處理器) objectFactory(對象工廠) plugins(插件) environments(環境配置) environment(環境變量) transactionManager(事務管理器) dataSource(數據源) databaseIdProvider(數據庫廠商標識) mappers(映射器)
Mybatis能夠配置成適應多種環境sql
不過要記住:儘管能夠配置多個環境,但每一個SqlSessionFactory實例只能選擇一種環境。數據庫
學會使用配置多套運行環境!緩存
Mybatis默認的事務管理器就是JDBC,鏈接池:POOLED ,以下:mybatis
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${pwd}"/> </dataSource> </environment> </environments>
咱們能夠經過properties屬性來實現引用配置文件app
這些屬性都是可外部配置且可動態替換的,既能夠在典型的java屬性文件中配置,亦可經過properties元素的子元素來傳遞。ide
經過這樣引入外部文件的方式配置,Mybatis優先取外部配置文件的值(如本例的db.properties)而不會取properties元素子元素配置的參數的值學習
以下圖:
編寫一個db.properties配置文件
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username=root pwd=123456
在覈心配置文件中引入
<!--引入外部配置文件--> <properties resource="db.properties"> <property name="username" value="root"/> <property name="pwd" value="111111"/> </properties>
最後經過以下方式取外部文件配置參數的值:
<dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${pwd}"/> </dataSource>
小結:
注:這裏補充一個知識:在xml中,全部的標籤均可以規定其順序
類型別名是爲java類型設置一個短的名字。
存在的意義僅在於用來減小類徹底限定名的冗餘。
有幾種方式:
<!--能夠給實體類起別名--> <typeAliases> <typeAlias type="com.kuang.pojo.User" alias="User"/> </typeAliases>
2.第二種能夠掃描一個包名:
<!--也能夠經過掃描包給包下面的全部類起別名,別名爲類名首字母小寫,可是通過測試,首字母大小寫均可以--> <typeAliases> <package name="com.kuang.pojo"/> </typeAliases>
最後在mapper.xml中使用別名就好了以下:
<!--select查詢語句--> <select id="getUserList" resultType="User"> select * from mybatis.user; </select>
小結:
在實體類比較少的時候,使用第一種方式,
若是實體類十分多,建議使用第二種。
第一種能夠DIY(自定義),第二種則【不行】,若是第二種非要自定義別名,須要再在實體上增長註解 ,以下:
//實體類 @Alias("user") public class User {
Mybatis官網給出來一些常見java類型默認的別名以下圖:
這是 MyBatis 中極爲重要的調整設置,它們會改變 MyBatis 的運行時行爲。
重點記住以下途中的三個設置:指定Mybatis的日誌實現、是否開啓緩存、是否懶加載。
MapperRegistry:註冊綁定咱們的mapper文件;
咱們之後寫都mapper.xml文件都要經過映射器註冊到MapperRegistry。
方式一:
<!--每個mapper.xml都須要在mybatis核心配置文件中註冊!--> <mappers> <mapper resource="com/kuang/dao/UserMapper.xml"/> </mappers>
方式二:使用class文件綁定註冊
<!--每個mapper.xml都須要在mybatis核心配置文件中註冊!--> <mappers> <mapper class="com.kuang.dao.UserMapper"/> </mappers>
注意點:
方式三:使用掃描包進行綁定
<!--每個mapper.xml都須要在mybatis核心配置文件中註冊!--> <mappers> <package name="com.kuang.dao"/> </mappers>
注意點(與方式二同樣):
這篇文章的源碼在Mybatis-study工程的mybatis-02模塊下!,後面會給出源碼連接