經過前面的文章,我覺得對Mybatis的正題理解已經足夠了,但是對Mybatis的使用,我覺得還是會有一點的模糊,就我個人而言,我覺得掌握好Mybatis框架,主要要明白三個文件,第一個就是等下要談論的Mybatis-comfig.xml文件,還有就是**Mapper.xml,以及我們所定義的Mapper類,理解了這三個東西,然后有sql的基礎,還有java的基礎的話,后面不論是使用基于xml的方法,還是基于java-based Configuration的方法,都會簡單的多。
廢話不多說,現在就一起來理解一下第一個重要的文件:Mybatis-config.xml文件。
首先我們來看一下,一個空白的完整的Mybatis-config.xml文件(這個名字可以自由操作,必須要記住這個是Mybatis配置文件就行)
可以直接創建一個空白的xml文件,然后上去官網復制一份頭文件,粘貼進來
1
2
3
4
5
|
<?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> </configuration |
上面這個就是基本的Mybatis-config.xml文件,我們在開發中需要添加我們需要的配置,下面就給出一個加上了基本的配置文件,通過這個來說:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?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> <typeAliases> <typeAlias alias= "Student" type= "com.mybatis3.domain.Student" /> </typeAliases> <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/test" /> <property name= "username" value= "root" /> <property name= "password" value= "admin" /> </dataSource> </environment> </environments> <mappers> <mapper resource= "com/mybatis3/mappers/StudentMapper.xml" /> </mappers> </configuration> |
從上面的內容里面我們可以看見的標簽有下面這些,但是這些是什么意思呢?
<configuration>:聲明在標簽里面的信息是配置信息
<typeAliases>:聲明在該標簽里面的信息是一個個的別名
<typealias>:聲明要使用別名的對象(全路徑)用java注解的話可以使用@Alias注解聲明
<environments>:聲明在該標簽內的環境變量,default表示默認的環境變量,一個environment表示一個jdbc連接數據庫,如果有很多數據庫的話我們要用到不同的環境變量
<environment>:聲明環境變量
<transactionManager>:聲明事務管理器 它的類型(type)有:JDBC(基于jdbc的事務) 還有 MANAGED(托管的事務)
<dataSource>:聲明數據源,數據源的類型有NOPOOLED ,POOLED ,還有JIDN,在數據量少的話用ONPOOLED,測試和開發過程一般用POOLED,實際運行使用JIDN
<property>:jdbc連接的一些屬性
<mappers>:聲明我們定義的一個個Mapper類,或者說是關聯
<mapper>:聲明Mapper的路徑
上面說到的都是在使用Mybatis要使用到的基本標簽,必須要掌握,可能不明白上面那個environments的使用,怎么去獲取一個environment,下面看看一個例子來:
1
2
3
4
5
|
InputStream in = Resource.getResourceAsInputSteam("mybatis.config"); //定義默認environment defaultSqlSessionFactory = new SqlSessionFactoryBuilder().build(in); //其他的environment otherSqlSessionFactory = new SqlSessionFactoryBuilder().build(in, "environment的ID"); |
上面的defaultSqlSessionFactory要自己聲明(注意)
那么除了上面的標簽之外還有哪些標簽呢?下面在一個看看比較常用的其他標簽
<Settings>:聲明一些全局變量的
<properties>:聲明屬性文件的key和value,但是如果使用了.properties文件將會被覆蓋。
<typeHandlers>:自定義我們的傳入參數類型處理器,需要extends BaseTypeHandler<自定義響應的類型>
最后再來看看Mybatis默認的setting配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<setting name= "cacheEnabled" value= "true" /> //是否使用緩存 <setting name= "lazyLoadingEnabled" value= "true" /> //是否是懶記載 <setting name= "multipleResultSetsEnabled" value= "true" /> <setting name= "useColumnLabel" value= "true" /> <setting name= "useGeneratedKeys" value= "false" /> <setting name= "autoMappingBehavior" value= "PARTIAL" /> <setting name= "defaultExecutorType" value= "SIMPLE" /> <setting name= "defaultStatementTimeout" value= "25000" /> <setting name= "safeRowBoundsEnabled" value= "false" /> <setting name= "mapUnderscoreToCamelCase" value= "false" /> [java] view plain copy <setting name= "localCacheScope" value= "SESSION" /> <setting name= "jdbcTypeForNull" value= "OTHER" /> <setting name= "lazyLoadTriggerMethods" value= "equals,clone,hashCode ,toString" /> |
總結
以上所述是小編給大家介紹的Mybatis中的config.xml配置文件詳細解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://blog.csdn.net/YQYnsmile/article/details/52807815