`
fresh_daily
  • 浏览: 15671 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis-spring sql文件配置

    博客分类:
  • j2ee
阅读更多

个人观点,诸多不妥之处,希望多多指正:

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>

  

分享到:
评论

相关推荐

    mybaits-spring(ibatis-spring)-1.0.2-bundle

    2. 配置SqlSessionFactory:在Spring的配置文件中,通过bean定义SqlSessionFactory,通常基于XML配置文件或者Java配置类。 3. 配置MapperScannerConfigurer:用于扫描指定包下的Mapper接口,将其注册为Spring Bean。...

    ibatis-spring学习

    在给定的"ibatis_spring"压缩包中,可能包含了这个学习程序的源代码,包括配置文件、Mapper接口、SQL映射文件、Service层代码等。通过阅读这些代码,你可以更深入地理解iBatis-Spring的整合过程以及它们如何协同工作...

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    2. **安装与配置**:讲解如何在项目中引入iBATIS,配置相应的XML文件,以及如何与Spring等其他框架集成。 3. **SqlMapConfig.xml配置**:详细介绍全局配置文件的作用,如数据源配置、事务管理器设置、环境定义等。 ...

    iBATIS-SqlMaps-2_cn.rar_ibatis/spring

    文档首先会介绍iBATIS的基本概念,包括SqlMapConfig.xml配置文件、SqlMap.xml映射文件以及动态SQL等核心元素。SqlMapConfig.xml文件是整个iBATIS系统的配置中心,包含了数据源、事务管理器等关键设置;SqlMap.xml...

    iBATIS-SqlMaps-2_cn.pdf

    SQL Maps作为iBATIS的重要组成部分,通过XML配置文件,为Java对象和数据库SQL语句建立映射关系,从而实现了数据访问层的解耦。 在XML描述文件中,SQL Maps定义了Java Bean、Map实现以及基本数据类型的包装类如何与...

    iBATIS-SqlMaps

    iBATIS 的动态SQL功能允许开发者在XML配置文件中编写条件化的SQL语句,可以根据实际参数来决定SQL的执行部分。这大大增加了SQL的灵活性,避免了因为硬编码而导致的重复SQL语句。 **事务管理** iBATIS 提供了事务...

    ibatis-sqlmap_2.3.4_2.jar两个版本的jar包

    1. 动态SQL:Ibatis-SqlMap支持在XML映射文件中编写动态SQL,使得SQL生成更加灵活。 2. 缓存机制:提供了一级缓存和二级缓存,能够提高数据访问效率。 3. 映射文件和Java代码分离:通过XML配置文件,将SQL逻辑和业务...

    ibatis-sqlmap-2.jar.zip

    1. SQL映射文件:iBatis的精髓在于它的SQL映射文件,如`sqlmap-config.xml`,它定义了数据源、事务管理、类型别名等全局配置,并且包含对多个SQL映射文件的引用。在`ibatis-sqlmap-2.jar.zip`中,虽然未直接提供具体...

    iBATIS-SqlMaps详解

    在实际开发中,iBATIS常与Spring框架结合使用,通过Spring的DataSourceTransactionManager和SqlSessionFactoryBean等组件,实现事务管理和SqlSessionFactory的创建,进一步简化了配置和使用。 总的来说,iBATIS-Sql...

    iBATIS-SqlMaps中文教程集合

    - SQL Maps设计与编写:介绍如何创建和配置XML映射文件,定义SQL语句、参数和结果集映射。 2. **进阶篇** - 动态SQL:讲解iBATIS的动态SQL功能,如if、choose、where、trim等标签,实现灵活的SQL构建。 - ...

    ibatis-spring

    iBATIS是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供了比传统的JDBC更为简单和高效的数据库操作方式。而Spring是一个全面的企业级应用开发框架,以其依赖注入(DI)和面向切面编程...

    ibatis-2.3.

    5. **Dynamic SQL**: iBATIS 提供了动态 SQL 功能,允许在 SQL Map 文件中使用条件语句,如 `if`、`choose`、`when`、`otherwise` 等,根据输入参数的不同生成不同的 SQL 语句。 6. **Transaction Management**: ...

    iBATIS-SqlMaps-2_cn.pdf 中文

    iBATIS是一个优秀的开源持久层框架,它允许开发者将SQL语句直接写入XML配置文件,避免了JDBC代码的繁琐编写,提高了开发效率。 在本手册中,你将深入学习到以下关键知识点: 1. **iBATIS概述**:iBATIS源自IBM的...

    ibatis-sqlmaps详解

    iBATIS SQL Maps的核心概念是SQL Map,它是一个XML文件,包含了SQL语句和结果映射。通过这种方式,SQL逻辑被封装在XML配置文件中,与业务逻辑代码解耦,使得代码更易于维护和测试。在XML文件中,可以定义查询、插入...

    ibatis_spring源代码

    `iBatis` 是一款优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得数据库操作更为灵活。而`Spring` 框架则是一个全方位的应用开发框架,它提供了依赖注入、AOP(面向切面编程)、事务管理等功能...

    iBATIS-SqlMaps-2-Tutorial_en.rar

    SqlMaps是iBATIS的核心组件,用于定义SQL映射文件,将Java代码与SQL语句分离,提高了代码的可读性和可维护性。这个"iBATIS-SqlMaps-2-Tutorial_en.rar"文件是一个英文教程,旨在帮助开发者深入了解和使用iBATIS Sql...

    Struts1+Spring+iBatis-jar包

    在Spring框架中,iBatis可以通过SqlSessionFactoryBean进行配置,并通过Spring的JdbcTemplate或MyBatis-Spring的MapperFactoryBean来调用SQL。 在这个"SSI-jar包"中,包含了Struts1、Spring和iBatis的jar文件,可能...

    ibatis-2.3.4.zip

    1. SQL映射:Ibatis通过XML配置文件或注解将SQL语句与Java对象映射,支持动态SQL,可以根据业务条件自由拼接SQL,提高了代码的可读性和可维护性。 2. 易于集成:Ibatis可以轻松地与Spring等其他框架集成,实现事务...

    Spring-Struts-IBatis-AOP-Transaction

    在 SSI 集成中,IBatis 作为数据库操作的桥梁,通过 XML 或注解配置 SQL 语句,实现与数据库的交互。 **AOP(面向切面编程)** 面向切面编程是一种编程范式,它允许开发者将关注点分离,如日志、事务管理等,从...

    ibatis-2.3.4.726官方最新开发包

    Ibatis 是一款开源的、基于Java的持久层框架,它简化了数据库与应用程序之间的交互,提供了灵活的SQL映射机制,使得开发者可以将SQL语句直接写在配置文件中,从而避免了传统的JDBC代码编写。这个“ibatis-2.3.4.726...

Global site tag (gtag.js) - Google Analytics