Spring配置iBatis多个SqlMapConfig.xml
2015-06-08 17:15
459 查看
Spring粘合iBatis的时候需要配置iBatis的SqlMapConfig.xml
对于项目多个模块而又想同时能管理起来,普遍的单个SqlMapConfig.xml就会显得臃肿
可喜的是Spring已经为大家想好这一切,提供能灵活的配置
configLocation // 单个SqlMapConfig.xml
configLocations // 多个SqlMapConfig.xml
mappingLocations // 自动匹配SqlMapConfig.xml
假设现在有几个配置文件,分别存放在不同的目录,结构如下
classes
|----SqlMapConfig.xml
|----com.xxx
|----aModule
| |----A-SqlMapConfig.xml
|----BModule
|----B-SqlMapConfig.xml
现在通过Spring配置以上几个SqlMapConfig.xml
Java代码
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性-->
<property name="configLocation" value="classpath:SqlMapConfig.xml"/>
<!-- 2. 配置多个SqlMapConfig.xml, 使用configLocations属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="configLocations">
<list>
<value>classpath:com/xxx/a/A-SqlMapConfig.xml</value>
<value>classpath:com/xxx/b/B-SqlMapConfig.xml</value>
</list>
</properties>
<!-- 3. 匹配多个SqlMapConfig.xml, 使用mappingLocation属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="mappingLocation" value="classpath:com/xxx/*/*-SqlMapConfig.xml"/>
<!-- 其他配置,例如dataSource等等 -->
<property name="dataSource" ref="dataSource"/>
</bean>
[java] view
plaincopy
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性-->
<property name="configLocation" value="classpath:SqlMapConfig.xml"/>
<!-- 2. 配置多个SqlMapConfig.xml, 使用configLocations属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="configLocations">
<list>
<value>classpath:com/xxx/a/A-SqlMapConfig.xml</value>
<value>classpath:com/xxx/b/B-SqlMapConfig.xml</value>
</list>
</properties>
<!-- 3. 匹配多个SqlMapConfig.xml, 使用mappingLocation属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="mappingLocation" value="classpath:com/xxx/*/*-SqlMapConfig.xml"/>
<!-- 其他配置,例如dataSource等等 -->
<property name="dataSource" ref="dataSource"/>
</bean>
这样,Spring就解决了多个模块下不同模块之前独立配置sqlMapConfog.xml的问题了。这个Spring2.5.5以后才支持
iBatis也能解决这类问题,不过要是iBatis高版本才支持,因为我使用的是2.3的,这方面就没有验证了
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<sqlMapConfig>
<!-- <sqlMapImport resource="" url=""/> -->
<sqlMapImport resource="com/xxx/a/A-SqlMapConfig.xml"/>
<sqlMapImport resource="com/xxx/b/B-SqlMapConfig.xml"/>
</sqlMapConfig>
对于项目多个模块而又想同时能管理起来,普遍的单个SqlMapConfig.xml就会显得臃肿
可喜的是Spring已经为大家想好这一切,提供能灵活的配置
configLocation // 单个SqlMapConfig.xml
configLocations // 多个SqlMapConfig.xml
mappingLocations // 自动匹配SqlMapConfig.xml
假设现在有几个配置文件,分别存放在不同的目录,结构如下
classes
|----SqlMapConfig.xml
|----com.xxx
|----aModule
| |----A-SqlMapConfig.xml
|----BModule
|----B-SqlMapConfig.xml
现在通过Spring配置以上几个SqlMapConfig.xml
Java代码
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性-->
<property name="configLocation" value="classpath:SqlMapConfig.xml"/>
<!-- 2. 配置多个SqlMapConfig.xml, 使用configLocations属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="configLocations">
<list>
<value>classpath:com/xxx/a/A-SqlMapConfig.xml</value>
<value>classpath:com/xxx/b/B-SqlMapConfig.xml</value>
</list>
</properties>
<!-- 3. 匹配多个SqlMapConfig.xml, 使用mappingLocation属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="mappingLocation" value="classpath:com/xxx/*/*-SqlMapConfig.xml"/>
<!-- 其他配置,例如dataSource等等 -->
<property name="dataSource" ref="dataSource"/>
</bean>
[java] view
plaincopy
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性-->
<property name="configLocation" value="classpath:SqlMapConfig.xml"/>
<!-- 2. 配置多个SqlMapConfig.xml, 使用configLocations属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="configLocations">
<list>
<value>classpath:com/xxx/a/A-SqlMapConfig.xml</value>
<value>classpath:com/xxx/b/B-SqlMapConfig.xml</value>
</list>
</properties>
<!-- 3. 匹配多个SqlMapConfig.xml, 使用mappingLocation属性-->
<!-- 不包含class目录下的SqlMapConfig.xml -->
<property name="mappingLocation" value="classpath:com/xxx/*/*-SqlMapConfig.xml"/>
<!-- 其他配置,例如dataSource等等 -->
<property name="dataSource" ref="dataSource"/>
</bean>
这样,Spring就解决了多个模块下不同模块之前独立配置sqlMapConfog.xml的问题了。这个Spring2.5.5以后才支持
iBatis也能解决这类问题,不过要是iBatis高版本才支持,因为我使用的是2.3的,这方面就没有验证了
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<sqlMapConfig>
<!-- <sqlMapImport resource="" url=""/> -->
<sqlMapImport resource="com/xxx/a/A-SqlMapConfig.xml"/>
<sqlMapImport resource="com/xxx/b/B-SqlMapConfig.xml"/>
</sqlMapConfig>
相关文章推荐
- java获得项目绝对路径
- spring-mybatis配置
- 五 100万并发连接服务器笔记之Java Netty处理1M连接会怎么样
- java包装类
- win7下安装及验证jdk
- (转)Java web 项目中文件路径
- Spring mvc-异常javax.servlet.ServletException: Could not resolve view with name 'xxx' in servlet with name 'spring'
- Spring -- AOP 优缺点
- Spring -- AOP 优缺点
- Spring -- AOP 优缺点
- Struts框架学习之拦截器
- spring整合struts2
- Java访问WebService返回XML数据的方法
- 解决eclipse/Myeclipse中出现Resource is out of sync with the file system问题
- Vijava 学习笔记之(VirtualMachine 获取网卡配置信息)
- spring 第一篇(1-1):让java开发变得更简单(上)
- [工作]Eclipse开发,JFace and SWT
- Java 验证 身份证号码是否规范
- eclipse 快捷键
- 阿里云Ubuntu部署java web(1) - 系统配置