經典三層框架初識--一.Mybatis(上)(對上補充)
關於上面的寫的入門案例的補充改進:
①.在我們的全域性配置檔案中
我們之前寫的全域性配置檔案是下面這個: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> <properties resource="jdbc.properties"></properties> <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="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="UserMapper.xml"/> </mappers> </configuration>
官方文件給我們的是下面這種表示式結構的模式,不是我們是用字串手動輸入下面四個引數 .如果我們更換資料庫的話,就會不方便.
我們以前寫過jdbc.properties這個配置檔案,那麼我們能不能把這個配置檔案引入到這個地方來?這樣以後我們就可以不修改這裡的全域性配置,只需要修改jdbc.properties這個屬性檔案就可以了 那前提是我們需要把這個屬性檔案載入進來,那如何載入呢? http://www.mybatis.org/mybatis-3/zh/configuration.html#properties 下的properties標籤的介紹 這些屬性都是可外部配置且可動態替換的,既可以在典型的 Java 屬性檔案中配置,亦可通過 properties 元素的子元素來傳遞 這裡案例將兩種方式合起來了 <properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties> 其實是 (1)<properties resource="org/mybatis/example/config.properties"></properties> 這裡的resource就是我們需要讀取的java屬性檔案 (2)<properties> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties> 我們用第一種.配置在上面,因為configuration裡面的標籤有順序.下面就按原來的表示式就可以了.下面是修改後的配置檔案.
<?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="jdbc.properties"></properties> <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="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="UserMapper.xml"/> </mappers> </configuration>
②.關於別名標籤
我們先看一下對映配置的官方文件
我們發現這裡紅色框住的內容就是個類名,而我們之前寫的都是全限定名稱,那肯定有方法讓我們在這裡寫類名即可.
下面介紹typeAliases這個標籤,類型別名.注意,這個標籤是定義在全域性配置檔案中的,...切記,全域性配置檔案中標籤是有順序的
所以我們可以將原來的全域性配置檔案進一步修改: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>
<!-- 載入外部屬性檔案 -->
<properties resource="jdbc.properties"></properties>
<typeAliases>
<!-- 單個類型別名 -->
<!-- <typeAlias type="pojo.UserInfo" alias="userinfo"/> -->
<!-- 批量起別名 以包為單位,別名就是類名,不區分大小寫-->
<package name="pojo"/>
</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="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</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="adhs">
<!-- 增刪改查 -->
<!-- <insert id=""></insert>
<update id=""></update>
<delete id=""></delete> -->
<select id="selectUser" resultType="userinfo">
select * from userinfo where uid = #{uid}
</select>
</mapper>