這節(jié)來說說全局配置文件的東西,非常簡單??匆槐榫投恕?/p> --WH 一、全部配置內容 SqlMapConfig.xml的配置內容和順序如下,順序不能亂?,F在來對這些屬性的意思一一進行講解?!?/p>
二、properties 作用:引用java屬性文件中的配置信息,比如,加載連接數據庫的各種屬性的配置文件?!?/p> db.properties ![]() ![]() 1 <!--
2 properties:引用java屬性文件中的配置信息
3 比如加載連接數據庫的賬號密碼等信息的properties配置文件。
4 使用${}可以引用已經加載的java配置文件中的信息
5 使用時注意一個問題,mybatis按照下面的順序加載屬性
6 1、properties標簽體內的屬性
7 2、properties引用的屬性會被讀取,本例中也就是db.properties中的屬性(key-value),
8 如果發(fā)現db.properties中有和第一步加載的屬性的key相同的屬性,那么將其覆蓋
9 3、parameterType:接收的值最后被讀取,parameterType='int' int相當于key,而實際上接收到的值
10 為value,如果parameterType的屬性名與前面兩步中的屬性名相同,那么將其覆蓋。
11 總結:加載的越快,就很有可能被覆蓋,所以在properties中的key值都使用db.xxx,目的就是防止重名被覆蓋
12 -->
13 <properties resource='db.properties'>
14 <!-- 這里就是properties標簽體內的屬性
15 比如: <property name='' value=''/>
16 -->
17 </properties>
18 //使用db.properties中的配置信息
19 <dataSource type='POOLED'>
20 <!-- 引用db.properties中的信息,通過${} -->
21 <property name='driver' value='${db.driver}'/>
22 <property name='url' value='${db.url}'/>
23 <property name='username' value='${db.username}'/>
24 <property name='password' value='${db.password}'/>
25 </dataSource>
三、settings <!-- setting 全局參數,比如懶加載、是否啟動緩存機制--> 這個在后面講解懶加載時會講解到。比如設置懶加載的全局參數 ![]() ![]() 1 <!-- setting 全局參數,比如懶加載、是否啟動緩存機制-->
2 <settings>
3 <!-- 打開延遲加載的開關,默認為true -->
4 <setting name='lazyLoadingEnabled' value='true'/>
5 <!-- 積極的懶加載,默認是true,設置為false時,懶加載生效 -->
6 <setting name='aggressiveLazyLoading' value='false'/>
7 </settings>
8
四、typeAliases 別名,為了在映射文件中更方便的編寫輸入參數類型和輸出結果類型,比如直接編寫int,就是在這里設置。(使用推薦的) ![]() ![]() 1 <!-- typeAliases:別名,為了在映射文件中更方便的編寫輸入參數類型和輸出結果類型,比如直接編寫int,
2 而不需要在編寫全限定名 java.lang.Integer了。 有很多默認的別名,比如int,String,八大基本類型都是
3 我們也可以自定義別名,
4 com.wuhao.mybatis.domain.User 使用別名 user 代替
5 -->
6 <typeAliases>
7 <!-- 單個定義別名 -->
8 <typeAlias type='com.wuhao.mybatis.domain.User' alias='user'/>
9 <!-- 批量定義別名(推薦)
10 指定批量定義別名的類包,在此包下的所有類都將可以使用別名,別名就為類名(首字母大小寫都可以)
11 -->
12 <!-- <package name='com.wuhao.mybatis.domain'/> -->
13 </typeAliases>
mybatis中有很多默認的別名,也就是幫我們寫好了的,比如八大基本類型, 五、typeHandlers 類型轉換器,將數據庫的類型轉換成java的類型,mybatis會幫我們做這個事情,我們不需要自己設置,在mybatis的jar包中,有一個 其中就會將類型轉換器,轉換哪些java類型都會列舉出來,我們去看看,用來借鑒借鑒,等用到了可以到里面查查,
六、objectFactory 對象工廠不用管,因為到時候肯定和spring整合,都會由sprig來管理,到與spring整合的時候就會講解到對象工廠的了。
七、mappers 加載映射文件,也就是我們配置的映射文件,在這里需要顯示聲明加載。有四種方式加載,使用推薦的那種,其他的了解 使用第四種方式加載 ![]() ![]() 1 <!--
2 mappers:加載映射文件
3 四種方式來加載
4 1、<mapper resource='config/sqlmap/user.xml'/>
5 使用相對路徑,相對于項目底下。,比如config下的sqlmap下的user.xml
6 2、<mapper url=’’/>
7 使用絕對路徑,比如d盤下的xx,不會用這種
8 3、<mapper class=’’/>
9 使用mapper接口的全縣定名。就不用管路徑問題了,讓mybatis通過全限定名自己去找映射文件
10 前提:mapper接口的名稱必須與映射文件的名稱相同,并且放到一個目錄下,
11 比如:UserMapper.java(接口) UserMapper.xml(映射文件)
12 4、<package name=’’/>(推薦)
13 注冊指定包下的所有映射文件
14 <package name='com.wuhao.mapper'/>
15 配置了com.wuhao.mapper下的所有映射文件,
16 注意:此種方法要求mapper接口和mapper映射文件要名稱相同,且放到同一個目錄下
17 -->
18 <mappers>
19 <!-- <mapper resource='sqlmap/User.xml'/> -->
20 <!-- 批量加載映射文件 -->
21 <package name='com.wuhao.mapper'/>
22 <package name='com.wuhao.shuru'/>
23 <package name='com.wuhao.resultMap'/>
24 <package name='com.wuhao.onetoone'/>
25 </mappers>
八,總的配置文件代碼 ![]() ![]() 1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE configuration
3 PUBLIC '-////DTD Config 3.0//EN'
4 'http:///dtd/mybatis-3-config.dtd'>
5 <configuration>
6 <!--
7 屬性
8 <properties></properties>
9 全局參數設置
10 <settings></settings>
11 類型別名
12 <typeAliases></typeAliases>
13 類型處理器
14 <typeHandles></typeHandles>
15 對象工廠
16 <objectFactory></objectFactory>
17 插件
18 <plugins></plugins>
19 以上屬性在后邊會詳細講解到,現在我們就只需要關注一下下面的配置即可
20 如下所配置的就是使用這點東西。
21 environments(環(huán)境信息集合)
22 environment(單個環(huán)境信息)
23 transactionManager(事物)
24 dataSource(數據源)
25 environment
26 environments
27 mappers(映射器)
28 -->
29
30 <!--
31 properties:引用java屬性文件中的配置信息
32 比如加載連接數據庫的賬號密碼等信息的properties配置文件。
33 使用${}可以引用已經加載的java配置文件中的信息
34 使用時注意一個問題,mybatis按照下面的順序加載屬性
35 1、properties標簽體內的屬性
36 2、properties引用的屬性會被讀取,本例中也就是db.properties中的屬性(key-value),
37 如果發(fā)現db.properties中有和第一步加載的屬性的key相同的屬性,那么將其覆蓋
38 3、parameterType:接收的值最后被讀取,parameterType='int' int相當于key,而實際上接收到的值
39 為value,如果parameterType的屬性名與前面兩步中的屬性名相同,那么將其覆蓋。
40 總結:加載的越快,就很有可能被覆蓋,所以在properties中的key值都使用db.xxx,目的就是防止重名被覆蓋
41 -->
42 <properties resource='db.properties'>
43 <!-- 這里就是properties標簽體內的屬性
44 比如: <property name='' value=''/>
45 -->
46 </properties>
47
48 <!-- setting 全局參數,比如懶加載、是否啟動緩存機制-->
49 <!-- <settings>
50 打開延遲加載的開關,默認為true
51 <setting name='lazyLoadingEnabled' value='true'/>
52 積極的懶加載,默認是true,設置為false時,懶加載生效
53 <setting name='aggressiveLazyLoading' value='false'/>
54 </settings> -->
55
56 <!-- typeAliases:別名,為了在映射文件中更方便的編寫輸入參數類型和輸出結果類型,比如直接編寫int,
57 而不需要在編寫全限定名 java.lang.Integer了。 有很多默認的別名,比如int,String,八大基本類型都是
58 我們也可以自定義別名,
59 com.wuhao.mybatis.domain.User 使用別名 user 代替
60 -->
61 <typeAliases>
62 <!-- 單個定義別名 -->
63 <typeAlias type='com.wuhao.mybatis.domain.User' alias='user'/>
64 <!-- 批量定義別名(推薦)
65 指定批量定義別名的類包,在此包下的所有類都將可以使用別名,別名就為類名(首字母大小寫都可以)
66 -->
67 <!-- <package name='com.wuhao.mybatis.domain'/> -->
68 </typeAliases>
69
70 <!-- 類型轉換器,將數據庫的類型轉換成java的類型,
71 mybatis會幫我們做這個事情,我們不需要自己設置,
72 <typeHandlers></typeHandlers>
73 -->
74
75 <!--
76 對象工廠不用管,因為到時候肯定和spring整合,都會由sprig來管理。
77 <objectFactory></objectFactory>
78 -->
79
80 <!--
81 mappers:加載映射文件
82 四種方式來加載
83 1、<mapper resource='config/sqlmap/user.xml'/>
84 使用相對路徑,相對于項目底下。,比如config下的sqlmap下的user.xml
85 2、<mapper url=’’/>
86 使用絕對路徑,比如d盤下的xx,不會用這種
87 3、<mapper class=’’/>
88 使用mapper接口的全縣定名。就不用管路徑問題了,讓mybatis通過全限定名自己去找映射文件
89 前提:mapper接口的名稱必須與映射文件的名稱相同,并且放到一個目錄下,
90 比如:UserMapper.java(接口) UserMapper.xml(映射文件)
91 4、<package name=’’/>(推薦)
92 注冊指定包下的所有映射文件
93 <package name='com.wuhao.mapper'/>
94 配置了com.wuhao.mapper下的所有映射文件,
95 注意:此種方法要求mapper接口和mapper映射文件要名稱相同,且放到同一個目錄下
96 -->
97
98
99
100 <!-- 配置mybatis的環(huán)境信息 -->
101 <environments default='development'>
102 <environment id='development'>
103 <!-- 配置JDBC事務控制,由mybatis進行管理 -->
104 <transactionManager type='JDBC'></transactionManager>
105 <!-- 配置數據源,采用dbcp連接池 -->
106 <dataSource type='POOLED'>
107 <!-- 引用db.properties中的信息,通過${} -->
108 <property name='driver' value='${db.driver}'/>
109 <property name='url' value='${db.url}'/>
110 <property name='username' value='${db.username}'/>
111 <property name='password' value='${db.password}'/>
112 </dataSource>
113 </environment>
114 </environments>
115 <!-- 加載mapper映射文件 -->
116 <mappers>
117 <!-- <mapper resource='sqlmap/User.xml'/> -->
118 <!-- 批量加載映射文件 -->
119 <package name='com.wuhao.mapper'/>
120 <package name='com.wuhao.shuru'/>
121 <package name='com.wuhao.resultMap'/>
122 <package name='com.wuhao.onetoone'/>
123 </mappers>
124 </configuration>
九、總結 以上就把全局配置文件中的內容全部給講解了一遍,其中 沒有具體講解這個,因為都是死東西,在前一章節(jié)都是使用這個,所以就不在過多分析,其他的都有講解到是什么作用,現在應該對前面一章的東西有更加深入的理解,但是需要徹底理解,還需要等待下一章講解映射文件之后才能夠更加清晰。加油。 |
|
來自: Levy_X > 《JAVAWEB學習資料》