一、全局配置文件中的屬性
mybatis全局配置中的文件非常多,主要有如下幾個(gè):?
- properties(屬性)
- settings(全局配置參數(shù))
- typeAliases(類型別名)
- typeHandlers(類型處理器)
- objectFactory(對(duì)象工廠)
- plugins(插件)
- environments(環(huán)境集合屬性對(duì)象)
- environment(環(huán)境集合屬性子對(duì)象)
- transactionManager(事務(wù)管理器)
- dataSource(數(shù)據(jù)源)
- mappers(映射器)
1.1、properties
properties可以用來(lái)引入一個(gè)外部配置,最常見(jiàn)的例子就是引入數(shù)據(jù)庫(kù)的基本配置信息,例如在resources目錄新建了一個(gè)db.properties文件,內(nèi)容如下:
db.driver=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:3306/20231101_mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT db.username=root db.password=123456mybatis-config可配置為如下:
<?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"></properties>
<environments default="deployment">
<environment id="deployment">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!--
# yml中的寫(xiě)法,xml中要把&轉(zhuǎn)換為 &
driver: jdbc:mysql://localhost:3306/20231101_mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
-->
<!--
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/20231101_mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
-->
<!-- 讀取外部配置文件中的信息進(jìn)行注入 -->
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<!--
配置mapper的位置
注意事項(xiàng):
如果xxxMapper.xml是在resources目錄配置的,那么需要?jiǎng)?chuàng)建和src中mapper同名的Directory才行,否則的話就會(huì)報(bào)
"org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)錯(cuò)誤"
(1)如果xxxMapper.xml文件和xxxMapper在同一個(gè)目錄,需要配置為package方式,并且修改pom.xml的配置信息
(2)如果xxxMapper.xml文件想單獨(dú)配置在resources目錄,如將其放在resources/mappers目錄,可以使用mapper的方式
-->
<mappers>
<!---->
<package name="org.star.mapper"/>
<!--<mapper resource="mappers/UserMapper.xml"></mapper>-->
</mappers>
</configuration>
1.2、settings
1.3、typeAliases
<typeAliases>
<!--
批量起別名:此處配置的是為 org.star.entity.model 包下的所有持久層類起別名
起別名規(guī)則:首字母小寫(xiě),例如UserDO的別名是userDO,這樣配置的話在xxxMapper.xml中的返回值就不用寫(xiě)類的完整路徑了
-->
<package name="org.star.entity.model"/>
</typeAliases>
1.4、typeHandlers
????????八種基本數(shù)據(jù)類型的增刪改查之所以能夠處理成功,就是因?yàn)橛猩线叺母鞣N類型的默認(rèn)處理器,這些處理器處理基本數(shù)據(jù)類型夠用了,但是要是處理特殊類型就需要我們自定義類型處理器了,比如User有一個(gè)愛(ài)好字段,類型為 private List<String> interests; 在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的類型為varchar,那么這種情況下就需要我們自定義類型處理器了,這個(gè)自定義的類型處理器需要滿足如下功能:
(1)數(shù)據(jù)存儲(chǔ)時(shí),自動(dòng)地將List集合轉(zhuǎn)換為字符串(格式自定義);
(2)數(shù)據(jù)查詢時(shí),將查詢到的字符串在轉(zhuǎn)換為L(zhǎng)ist集合;文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-737973.html
1.5、mappers
xxxMapper.xml配置位置的幾種寫(xiě)法:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-737973.html
<mappers>
<!-- 方式一: -->
<!--<mapper resource="mappers/UserMapper.xml"></mapper>-->
<!--方式二:使用絕對(duì)路徑,不推薦-->
<!--<mapper url="D:\augenstemn@gitee\mybatis-parent\mybatis\src\main\java\org\star\mapper\UserMapper.xml"></mapper>-->
<!--
方式三:使用mapper接口路徑
注意事項(xiàng):此種方式要求mapper接口和映射文件的名稱相同,且放在同一個(gè)目錄中
-->
<!--<mapper class="org/star/mapper/UserMapper.xml"></mapper>-->
<!--
方式四:注冊(cè)指定包下的所有mapper接口
注意事項(xiàng):此種方式要求mapper接口和映射文件的名稱相同,且放在同一個(gè)目錄中
實(shí)際項(xiàng)目中多采用此種方式,推薦
-->
<package name="org.star.mapper"/>
</mappers>
到了這里,關(guān)于系列四、全局配置文件mybatis-config.xml的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!