今天内容比较简单,就是几个标签的介绍,但对于开发的效率确是有很大的提高,在实际开发中也是经常用到的一种手段。要介绍的标签有properties、typeAlias、package等标签。
在之前的入门案例中,我们在SqlMapConfig.xml中配置了连接数据库必备的属性,如下:
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver">property>
<property name="url" value="jdbc:mysql://localhost:3306/web_test2">property>
<property name="username" value="root">property>
<property name="password" value="123">property>
dataSource>
第一种修改:
写一个dbcConfig.properties文件,内容为:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/web_test2
jdbc.username=root
jdbc.password=123
将文件方法main文件夹的resource中:
在SqlMapConfig.xml文件的configuration标签中添加一个properties标签,然后再里面写上属性标签等值。如下图:
<configuration>
<properties resource="dbcConfig.properties">
properties>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC">transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}">property>
<property name="url" value="${jdbc.url}">property>
<property name="username" value="${jdbc.username}">property>
<property name="password" value="${jdbc.password}">property>
dataSource>
environment>
environments>
<mappers>
<mapper resource="com/itheima/dao/IUserDao.xml">mapper>
mappers>
configuration>
第二种修改,和上面的做法类似,只是将properties标签中的resource标签换成url标签,如下所示:
<properties url="file:///F:/Program Files/IdeaProjects/hello_maven/src/main/resources/jdbcConfig.properties">
properties>
从两种方式的用法不难看出,resource和url的区别,url的值必须为全路径名,需要加协议和端口等信息,而resource就不需要这么麻烦,只要满足文件在resources文件夹下即可直接使用文件名来填写信息。
他们的共同点就是,我们如果需要修改数据库的连接信息,直接用打开属性文件来修改即可,并不需要再去查找对应的配置文件。
在SqlMapConfig.xml中properties标签下添加如下代码,那么我们在写mapper文件的时候就可以省略全限定类名,直接写类名。
<typeAliases>
<typeAlias type="com.stevensam.domain.Student" alias="student">typeAlias>
typeAliases>
<select id="findAll" resultType="student">
SELECT * FROM student;
select>
当有多个实体类在同一个包下的时候,我们并不需要想上面一个一个地添加typeAlias,只需要修改代码如下所示即可。
<typeAliases>
<package name="com.stevensam.domain">package>
typeAliases>
package也还可以用在其他的标签中,如mappers中
<mappers>
<package name="com.stevensam.dao">package>
mappers>