MyBatis数据持久化(五)数据源配置优化
2015-06-16 21:58
363 查看
在前面的教程中,我们把数据库的驱动、用户名、密码等配置项全部写在
这并不是一种好的实践方式,比如我们的应用更换了数据库服务器,改用orcale数据库。这就需要我们对上面的配置项逐一修改,可维护性较差。
一种更好的实践方式是把这些配置项写在一个properties文件中,然后在SqlMapConfig.xml文件中通过表达式引用这些配置属性即可。
我们新建一个mysql.properties文件,内容如下:
在SqlMapConfig.xml文件通过properties标签引入该属性文件,使用
当我们改用oracle数据库时,只需要新建一个oracle.properties,然后將properties标签的resource属性改为oracle.properties,像下面这个样子。
项目文件结构如下图:
博文源码:https://github.com/rongbo-j/mybatis-blog
SqlMapConfig.xml中:
<dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF8"/> <property name="username" value="root"/> <property name="password" value=""/> </dataSource>
这并不是一种好的实践方式,比如我们的应用更换了数据库服务器,改用orcale数据库。这就需要我们对上面的配置项逐一修改,可维护性较差。
一种更好的实践方式是把这些配置项写在一个properties文件中,然后在SqlMapConfig.xml文件中通过表达式引用这些配置属性即可。
我们新建一个mysql.properties文件,内容如下:
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF8 username=root password=
在SqlMapConfig.xml文件通过properties标签引入该属性文件,使用
${属性名}方式引用mysql.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="mysql.properties"> </properties> <!-- 自定义类型别名 --> <typeAliases> <typeAlias alias="user" type="com.mybatis.domain.User"/> </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="User.xml"/> </mappers> </configuration>
当我们改用oracle数据库时,只需要新建一个oracle.properties,然后將properties标签的resource属性改为oracle.properties,像下面这个样子。
<properties resource="oracle.properties"> </properties>
项目文件结构如下图:
博文源码:https://github.com/rongbo-j/mybatis-blog