Mybatis的配置解析

1.核心配置文件

  • mybatis-config.xml
  • mybatis的配置文件中包含了深深影響mybatis行爲的設置和屬性信息
configuration(配置)
properties(屬性)
settings(設置)
typeAliases(類型別名)
typeHandlers(類型處理器)
objectFactory(對象工廠)
plugins(插件)
environments(環境配置)
environment(環境變量)
transactionManager(事務管理器)
dataSource(數據源)
databaseIdProvider(數據庫廠商標識)
mappers(映射器)

2.環境配置(environments)
mybatis可以配置適應多種環境
不過要記住:儘管可以配置多個環境,但每個SqlSessionFactory實例只能選擇一個環境!
學會使用配置多套運行環境,切換環境通過default來修改對應的環境的id
mybatis默認的事務管理器是JDBC,連接池是POOLED

3.屬性(properties)
這些屬性可以在外部進行配置,並可以進行動態替換。你既可以在典型的 Java 屬性文件中配置這些屬性,也可以在 properties 元素的子元素中設置。
【db.properties】

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=root

在xml配置文件中,所有的標籤都是有順序的!
在覈心配置文件中引入

<!--引入外部配置文件-->
<properties resource="db.properties">
    <property name="username" value="root"/>
    <property name="password" value="root"/>
</properties>
  • 可以直接引入外部文件
  • 可以在其中增加一些property屬性配置文件
  • 如果兩個文件有同一個字段,優先使用外部配置文件的

4.類型別名(typeAliases)
類型別名是爲jJava類型設置的一個短的名字
存在的意義僅在於用來減少類完全限定名的冗餘

<!--給實體類起一個別名-->
<typeAliases>
    <typeAlias type="com.superman.pojo.User" alias="User"/>
</typeAliases>

也可以指定一個包名,mybatis會在包名下面搜索需要的Java Bean,比如:
掃描實體類的包名,它的默認別名就爲這個類的類名,首字母小寫!

<!--通過掃描包的方式給實體類起一個別名-->
<typeAliases>
    <package name="com.superman.pojo"/>
</typeAliases>

在實體類比較少的情況下使用第一種(可以自定義別名)
在實體類比較多的情況下使用第二種(無法自定義別名),可以通過註解的方式來實現自定義別名

//實體類
@Alias("user")
public class User {

5.設置(settings)
這是 MyBatis 中極爲重要的調整設置,它們會改變 MyBatis 的運行時行爲。 下表描述了設置中各項設置的含義、默認值等。(重點是下面三個)
在這裏插入圖片描述
在這裏插入圖片描述
6.其他配置

  • typeHandles(類型處理器)
  • objectFactory(對象工廠)
  • plugins插件
    • mybatis-generator-core
    • mybatis-plus
    • 通用mapper

7.映射器(mappers)
MapperRegistry:註冊綁定我們寫的mapper文件

方式一:【推薦使用】

<!--每一個Mapper.xml都需要在mybatis的核心配置文件中配置-->
<mappers>
    <mapper resource="com/superman/dao/UserMapper.xml"/>
</mappers>

方式二:使用class文件綁定註冊

<!--每一個Mapper.xml都需要在mybatis的核心配置文件中配置-->
<mappers>
    <mapper class="com.superman.dao.UserMapper" />
</mappers>

注意點:

  • 接口和它的mapper配置文件名必須同名!
  • 接口和它的mapper配置文件必須在同一個包下!

方式三:使用掃描package進行注入綁定

<!--每一個Mapper.xml都需要在mybatis的核心配置文件中配置-->
<mappers>
    <package name="com.superman.dao"/>
</mappers>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章