標籤:
在實際開發中,我們希望檔案配置是分類配置存放,需要的時候引入即可。如果多檔案的配置混合配置使用,那麼對項目的後期維護將增加難度。
一、對於串連資料庫的配置單獨放在一個properties檔案中1、對於之前的配置我們是將資料庫配置放置在conf.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> <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/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <mappers> <!-- 註冊userMapper.xml檔案, userMapper.xml位於me.gacl.mapping這個包下,所以resource寫成me/gacl/mapping/userMapper.xml--> <mapper resource="com/murong/mapping/userMapper.xml"/> <!-- 註冊UserMapper映射介面--> <mapper class="com.murong.mapping.UserMapperI"/> </mappers></configuration>
2、現在我們把資料庫連接的配置分離出來,單獨放在一個設定檔中。即 db.properties 檔案
具體操作:在項目的src目錄下建立一個db.properties檔案,檔案內容如下:
driver=com.mysql.jdbc.Driverurl=jdbc\:mysql\://localhost\:3306/mybatisname=rootpassword=123456
3、在MyBatis的conf.xml檔案中引用db.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="db.properties"></properties> <!-- 簡化sql檔案對應方式一 --> <!-- <typeAliases> <typeAlias type="com.murong.domain.User" alias="User"/> </typeAliases> --> <!-- 簡化sql檔案對應方式二--> <!-- 配置實體類的別名,配置實體類別名的目的是為了在引用實體類時可以使用實體類的別名來代替實體類,達到簡寫的目的 --> <typeAliases> <!-- 為實體類com.murong.domain.User配置一個別名_User --> <!-- <typeAlias type="com.murong.domain.User" alias="_User"/> --> <!-- 為com.murong.domain包下的所有實體類配置別名,MyBatis預設的設定別名的方式就是去除類所在的包後的簡單的類名 比如com.murong.domain.User這個實體類的別名就會被設定成User --> <package name="com.murong.domain"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 設定資料庫串連資訊 --> <dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${name}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <mappers> <!-- 註冊userMapper.xml檔案, userMapper.xml位於com.murong.mapping這個包下,所以resource寫成com/murong/mapping/userMapper.xml--> <mapper resource="com/murong/mapping/userMapper.xml"/> <!-- 註冊UserMapper映射介面--> <!-- <mapper class="com.murong.mapping.UserMapperI"/> --> </mappers></configuration>二、為實體類定義別名,簡化sql映射xml檔案中的引用
之前,我們在sql映射xml檔案中的引用實體類時,需要寫上實體類的全類名(包名+類名),如下:
<!-- 建立使用者(Create) --> <insert id="addUser" parameterType="com.murong.domain.User"> insert into users(name,age) values(#{name},#{age}) </insert>
parameterType="com.murong.domain.User"這裡寫的實體類User的全類名com.murong.domain.User,每次都寫這麼一長串內容挺麻煩的,而我們希望能夠簡寫成下面的形式
<!-- 建立使用者(Create) --> <insert id="addUser" parameterType="_User"> insert into users(name,age) values(#{name},#{age}) </insert>
為了達到這種效果,我們需要在conf.xml檔案中為實體類="com.murong.domain.User"定義一個別名為"User",具體做法如下:
在conf.xml檔案中<configuration></configuration>標籤中添加如下配置:
<!-- 簡化sql檔案對應方式一 --> <!-- <typeAliases> <typeAlias type="com.murong.domain.User" alias="_User"/> </typeAliases> --> <!-- 簡化sql檔案對應方式二--> <!-- 配置實體類的別名,配置實體類別名的目的是為了在引用實體類時可以使用實體類的別名來代替實體類,達到簡寫的目的 --> <typeAliases> <!-- 為實體類com.murong.domain.User配置一個別名_User --> <!-- <typeAlias type="com.murong.domain.User" alias="_User"/> --> <!-- 為com.murong.domain包下的所有實體類配置別名,MyBatis預設的設定別名的方式就是去除類所在的包後的簡單的類名 比如com.murong.domain.User這個實體類的別名就會被設定成User --> <package name="com.murong.domain"/> </typeAliases>
<package name="com.murong.domain"/>就表示為這個包下面的所有實體類設定別名。MyBatis預設的設定別名的方式就是去除類所在的包後的簡單的類名,比如com.murong.domain.User這個實體類的別名就會被設定成User。
MyBatis入門學習(三)