【 MyBatis 】常用的幾個配置,優化我們的核心配置文件(簡單明瞭、通俗易懂)

在MyBatis的環境搭建好之後,我們可以對MyBatis做一些常用的優化或者其它設置

目錄

在此之前,我們的核心配置文件是這樣寫的

在此之後,我們的核心配置文件是這樣寫的

引用外部配置文件

日誌工廠

駝峯命名轉換

實體類起別名

映射器


在此之前,我們的核心配置文件是這樣寫的

<?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>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/robot/dao/UserMapper.xml"/>
    </mappers>
</configuration>

在此之後,我們的核心配置文件是這樣寫的

db.properties 

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

 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>

<!--    引入外部配置文件,也可以添加屬性,但優先使用外部配置-->
    <properties resource="db.properties"/>

<!--    日誌工廠-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

<!--    給實體類起別名-->
    <typeAliases>
<!--        <typeAlias type="com.robot.pojo.User" alias="User"/>-->
        <package name="com.robot.pojo"/>
    </typeAliases>
    
    <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="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="com.robot.dao.UserMapper"/>
    </mappers>
</configuration>

引用外部配置文件

<properties> 中我們引用了外部配置文件db.properties,所以在<environment>中才可以如上配置

<properties resource="db.properties"/>

日誌工廠

<setting>中使用了logImpl,他是一個日誌工廠,後面的值爲STDOUT_LOGGING,代表標準日誌輸出

<settings>
    <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

當然還有其它的日誌輸出,在後續會單獨介紹如何使用 LOG4J  

駝峯命名轉換

<setting>中使用的mapUnderscoreToCamelCase,意爲開啓駝峯命名轉換,比如我們數據庫中字段名爲use_name,開啓轉換之後在Java中就會被轉換爲userName

<settings>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

實體類起別名

第一種方式:將這個路徑下的實體類,直接起一個別名爲User

<typeAliases>
    <typeAlias type="com.robot.pojo.User" alias="User"/>
</typeAliases>

第二種方式:進行包掃描,這個包下實體類的別名爲首字母小寫的名稱,比如一個實體類爲User,那麼它的別名就爲user

<typeAliases>
    <package name="com.robot.pojo"/>
</typeAliases>

 但是在第二種包掃描方式中,假如實體類使用了註解,那麼它的別名就是這個註解裏面的值

映射器

註冊綁定我們的Mapper文件

第一種方式:每一個Mapper.xml都需要註冊

<mappers>
    <mapper resource="com/robot/dao/UserMapper.xml"/>
</mappers>

第二種方式:使用class文件綁定註冊,每一個Mapper.xml都需要註冊

<mappers>
    <mapper class="com.robot.dao.UserMapper"/>
</mappers>

第三種方式:使用包掃描

<mappers>
    <package name="com.robot.dao"/>
</mappers>

注意:如果使用後兩種方式,接口和它的Mapper配置文件必須同名、且在同一個包下

總結

以上就是在搭建好MyBatis之後可以做的一些常用配置優化,當然配置遠不止這些,以上只是一些常用的

注意:核心配置文件中標籤是有順序的,比如第一個就是<properties>,而<setting>只能在它的後面,如果寫在它的前面就會報錯,具體順序如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章