个人观点,诸多不妥之处,希望多多指正:
ibatis整合spring的方式主要在于sqlMapClient的配置,而sqlMapClient的配置中,sqlmap文件的配置,也是重要的一环,下面对我遇到的2种配置方式做一下分析:
1、
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="WEB-INF/conf/spring/SqlMapConfig.xml"/>
</bean>
configLocation中配置了sqlmap文件所配置的xml文件的目录位置(红色标注部分),这时,我们每增加一个sqlmap就得到配置的SqlMapConfig.xml中去添加一条数据,如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="false"
lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000"
maxTransactions="3000" useStatementNamespaces="true" />
<!-- SqlMap地址都放在下面 -->
<sqlMap resource="com/example/system/SYSTEM_USER_SqlMap.xml"/>
</sqlMapConfig>
2、
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>WEB-INF/conf/spring/SqlMapConfig.xml</value>
</property>
<!-- 注意下面的通配符配置方式 -->
<property name="mappingLocations">
<value>classpath:com/example/*.xml</value>
</property>
<property name="dataSource" ref="dataSource" />
<property name="useTransactionAwareDataSource">
<value>false</value>
</property>
</bean>
注意到这种方式采用了通配符,大大省去了向SqlMapConfig.xml添加数据的麻烦。
可以注意到,其中有一个问题,就是还是需要配置configLocation的目录,当不配置时,启动报异常:
java.lang.IllegalArgumentException:At least 1 'configLocation' entry is required
不知道该如何解决这个问题,希望能有人能指教。
于是作者在第2种方法的基础上,修改了通配符的配置,以便于sqlmap文件可以放在各个javabean对应的目录中。
如下:
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>WEB-INF/conf/spring/sql-map-config.xml</value>
</property>
<!-- 注意下面的通配符配置方式 -->
<property name="mappingLocations">
<value>classpath:com/example/domain/**/*.xml</value>
</property>
<property name="dataSource" ref="dataSource" />
<property name="useTransactionAwareDataSource">
<value>false</value>
</property>
</bean>
分享到:
相关推荐
2. 配置SqlSessionFactory:在Spring的配置文件中,通过bean定义SqlSessionFactory,通常基于XML配置文件或者Java配置类。 3. 配置MapperScannerConfigurer:用于扫描指定包下的Mapper接口,将其注册为Spring Bean。...
在给定的"ibatis_spring"压缩包中,可能包含了这个学习程序的源代码,包括配置文件、Mapper接口、SQL映射文件、Service层代码等。通过阅读这些代码,你可以更深入地理解iBatis-Spring的整合过程以及它们如何协同工作...
2. **安装与配置**:讲解如何在项目中引入iBATIS,配置相应的XML文件,以及如何与Spring等其他框架集成。 3. **SqlMapConfig.xml配置**:详细介绍全局配置文件的作用,如数据源配置、事务管理器设置、环境定义等。 ...
文档首先会介绍iBATIS的基本概念,包括SqlMapConfig.xml配置文件、SqlMap.xml映射文件以及动态SQL等核心元素。SqlMapConfig.xml文件是整个iBATIS系统的配置中心,包含了数据源、事务管理器等关键设置;SqlMap.xml...
SQL Maps作为iBATIS的重要组成部分,通过XML配置文件,为Java对象和数据库SQL语句建立映射关系,从而实现了数据访问层的解耦。 在XML描述文件中,SQL Maps定义了Java Bean、Map实现以及基本数据类型的包装类如何与...
iBATIS 的动态SQL功能允许开发者在XML配置文件中编写条件化的SQL语句,可以根据实际参数来决定SQL的执行部分。这大大增加了SQL的灵活性,避免了因为硬编码而导致的重复SQL语句。 **事务管理** iBATIS 提供了事务...
1. 动态SQL:Ibatis-SqlMap支持在XML映射文件中编写动态SQL,使得SQL生成更加灵活。 2. 缓存机制:提供了一级缓存和二级缓存,能够提高数据访问效率。 3. 映射文件和Java代码分离:通过XML配置文件,将SQL逻辑和业务...
1. SQL映射文件:iBatis的精髓在于它的SQL映射文件,如`sqlmap-config.xml`,它定义了数据源、事务管理、类型别名等全局配置,并且包含对多个SQL映射文件的引用。在`ibatis-sqlmap-2.jar.zip`中,虽然未直接提供具体...
在实际开发中,iBATIS常与Spring框架结合使用,通过Spring的DataSourceTransactionManager和SqlSessionFactoryBean等组件,实现事务管理和SqlSessionFactory的创建,进一步简化了配置和使用。 总的来说,iBATIS-Sql...
- SQL Maps设计与编写:介绍如何创建和配置XML映射文件,定义SQL语句、参数和结果集映射。 2. **进阶篇** - 动态SQL:讲解iBATIS的动态SQL功能,如if、choose、where、trim等标签,实现灵活的SQL构建。 - ...
iBATIS是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供了比传统的JDBC更为简单和高效的数据库操作方式。而Spring是一个全面的企业级应用开发框架,以其依赖注入(DI)和面向切面编程...
5. **Dynamic SQL**: iBATIS 提供了动态 SQL 功能,允许在 SQL Map 文件中使用条件语句,如 `if`、`choose`、`when`、`otherwise` 等,根据输入参数的不同生成不同的 SQL 语句。 6. **Transaction Management**: ...
iBATIS是一个优秀的开源持久层框架,它允许开发者将SQL语句直接写入XML配置文件,避免了JDBC代码的繁琐编写,提高了开发效率。 在本手册中,你将深入学习到以下关键知识点: 1. **iBATIS概述**:iBATIS源自IBM的...
iBATIS SQL Maps的核心概念是SQL Map,它是一个XML文件,包含了SQL语句和结果映射。通过这种方式,SQL逻辑被封装在XML配置文件中,与业务逻辑代码解耦,使得代码更易于维护和测试。在XML文件中,可以定义查询、插入...
`iBatis` 是一款优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得数据库操作更为灵活。而`Spring` 框架则是一个全方位的应用开发框架,它提供了依赖注入、AOP(面向切面编程)、事务管理等功能...
SqlMaps是iBATIS的核心组件,用于定义SQL映射文件,将Java代码与SQL语句分离,提高了代码的可读性和可维护性。这个"iBATIS-SqlMaps-2-Tutorial_en.rar"文件是一个英文教程,旨在帮助开发者深入了解和使用iBATIS Sql...
在Spring框架中,iBatis可以通过SqlSessionFactoryBean进行配置,并通过Spring的JdbcTemplate或MyBatis-Spring的MapperFactoryBean来调用SQL。 在这个"SSI-jar包"中,包含了Struts1、Spring和iBatis的jar文件,可能...
1. SQL映射:Ibatis通过XML配置文件或注解将SQL语句与Java对象映射,支持动态SQL,可以根据业务条件自由拼接SQL,提高了代码的可读性和可维护性。 2. 易于集成:Ibatis可以轻松地与Spring等其他框架集成,实现事务...
在 SSI 集成中,IBatis 作为数据库操作的桥梁,通过 XML 或注解配置 SQL 语句,实现与数据库的交互。 **AOP(面向切面编程)** 面向切面编程是一种编程范式,它允许开发者将关注点分离,如日志、事务管理等,从...
Ibatis 是一款开源的、基于Java的持久层框架,它简化了数据库与应用程序之间的交互,提供了灵活的SQL映射机制,使得开发者可以将SQL语句直接写在配置文件中,从而避免了传统的JDBC代码编写。这个“ibatis-2.3.4.726...