經過前面的文章,我覺得對Mybatis的正題理解已經足夠了,但是對Mybatis的使用,我覺得還是會有一點的模糊,就我個人而言,我覺得掌握好Mybatis框架,主要要明白三個文件,第一個就是等下要談論的Mybatis-comfig.xml文件,還有就是**Mapper.xml,以及我們所定義的Mapper類,理解了這三個東西,然后有sql的基礎,還有java的基礎的話,后面不論是使用基于xml的方法,還是基于java-based Configuration的方法,都會簡單的多。
廢話不多說,現在就一起來理解一下第一個重要的文件:Mybatis-config.xml文件。
首先我們來看一下,一個空白的完整的Mybatis-config.xml文件(這個名字可以自由操作,必須要記住這個是Mybatis配置文件就行)
可以直接創建一個空白的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> </configuration
上面這個就是基本的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> <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,下面看看一個例子來:
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配置:
<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配置文件詳細解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答
圖片精選