Mybatis 核心配置文件中, configuration 標籤下其實有那麼多子標籤來配置Mybaties:\java
數據庫環境的配置,支持多環境配置,sql
其中,事務管理器(transactionManager)類型有兩種:數據庫
• JDBC:這個配置就是直接使用了JDBC 的提交和回滾設置,它依賴於從數據源獲得的鏈接來管理事務做用域。服務器
• MANAGED:這個配置幾乎沒作什麼。它歷來不提交或回滾一個鏈接,而是讓容器來管理事務的整個生命週期(好比 JEE 應用服務器的上下文)。 默認狀況下它會關閉鏈接,然而一些容器並不但願這樣,所以須要將 closeConnection 屬性設置 爲 false 來阻止它默認的關閉行爲。 mybatis
其中,數據源(dataSource)類型有三種:• UNPOOLED:這個數據源的實現只是每次被請求時打開和關閉鏈接。 app
• POOLED:這種數據源的實現利用「池」的概念將 JDBC 鏈接對象組織起來。ide
• JNDI:這個數據源的實現是爲了能在如 EJB 或應用服務器這類容器中使用,容器能夠集中或在外部配置數據源,而後放置 一個 JNDI 上下文的引用。ui
2. mapper標籤url
該標籤的做用是加載映射的,加載方式有以下幾種:spa
• 使用相對於類路徑的資源引用,例如: 【咱們通常用這種 類路徑下】
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
• 使用徹底限定資源定位符(URL),例如:【不多用這種絕對】
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
• 使用映射器接口實現類的徹底限定類名,例如:【不常見 註解見得多】
<mapper class="org.mybatis.builder.AuthorMapper"/>
• 將包內的映射器接口實現所有註冊爲映射器,例如:【包下所有】
<package name="org.mybatis.builder"/>
實際開發中,習慣將數據源的配置信息單獨抽取成一個properties文件,該標籤能夠加載額外配置的properties文件,emmmm 最開始我也怎麼幹過。。。用Bundle 來取
可是須要加載配properties文件進來。
代碼我寫了 在這:
<?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="datasourceInfo.properties"></properties> <!--導入proerties文件--> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/bihu/mapper/UserMapper.xml"></mapper> </mappers> </configuration>
這個標籤就有用了! 他能夠定義別名,很方便,mybatis內部已定義了一些:
他們至關於 java.lang.XXX
自定義別名:
<?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="datasourceInfo.properties"></properties> <!--導入proerties文件--> <!--這裏自定義別名 但注意! 這不能在使用後定義(即調用後面定義) 否則報錯!--> <typeAliases> <!--而後你就能夠在映射文件中 直接用User代替這個類型了--> <typeAlias type="com.bihu.Bean.User" alias="User"></typeAlias> </typeAliases> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/bihu/mapper/UserMapper.xml"></mapper> </mappers> </configuration>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="crud"> <!-- 本來: <insert id="insertTest" parameterType="com.bihu.Bean.User">--> <insert id="insertTest" parameterType="User"> insert into user values(#{id},#{username},#{password}) </insert> </mapper>