Mybatis1.2——SqlMapConfig的部分其他使用

海棠花開發表於2018-11-06

JavaWeb框架學習文章點這裡
1,使用properties節點
1)配置一個常規的存放資料庫連線資訊properties檔案

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456

使用properties節點中的resource可以引入該資源,在配置資料來源的時候可以用表示式來獲取屬性值

	<properties resource="mysql.properties"/>
	
	<environments default="development">
		<environment id="development">
			<!-- 使用jdbc事務管理 -->
			<transactionManager type="JDBC"/>
			<!-- 配置資料庫連線池 -->
			<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>

2,配置別名
我們在配置parameterType的時候可以使用int來表示java.lang.Integer這個類,int就是這個類的別名。這個別名是系統自動定義的。我們也可以在配置檔案中自己定義別名。
在SqlMapConfig.xml中配置節點如下:

	<!-- 定義別名-->
	<typeAliases>
		<!-- alias的屬性值就是type屬性值的別名,並且使用的時候別名的首字母用大小寫都可以 -->
		<typeAlias type="com.hhh.dao.User" alias="user"/>
	</typeAliases>	

在UserMapper.xml中配置:

		<select id="findUserById" parameterType="int" resultType="User">
			select * from user where id = #{id}
		</select>

這樣就可以使用別名了,並且首字母不分大小寫

不過我們也可以直接配置包,配置後該包下的所有類mybatis自動分配別名,別名為類名。首字母大小寫都行。
示例如下:

	<typeAliases>
		<package name="com.hhh.dao"/>
	</typeAliases>	
		<select id="findUserById" parameterType="int" resultType="User">
			select * from user where id = #{id}
		</select>

3,mapper的載入
mapper的載入可以引入mapper.xml配置檔案如下:

	<mappers>
		<mapper resource="mapper/UserMapper.xml"/>
	</mappers>

也可以使用全限定類名,但是需要將mapper.xml放到對應的mapper.java介面的包路徑裡,配置如下:

	<mappers>
		<mapper class="com.hhh.mapper.UserMapper"/>
	</mappers>

放置位置

也可以直接配置包:

	<mappers>
		<package name="com.hhh.mapper"/>
	</mappers>

但是包下面的類以及配置檔案都需要滿足上圖的規範。

相關文章