出处:http://blog.csdn.net/lemonyfei/article/details/8925325
SqlSessionFactoryBean
在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建。而在 MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来替代。
Setup
要创建工厂 bean,放置下面的代码在 Spring 的 XML 配置文件中:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean>
要注意 SqlSessionFactoryBean 实现了 Spring 的 FactoryBean 接口(请参考 Spring 文 档的 3.8 章节)这就说明了由 Spring 最终创建的 bean 不是 SqlSessionFactoryBean 本身, 。 而是工厂类的 getObject()返回的方法的结果。这种情况下,Spring 将会在应用启动时为你 创建 SqlSessionFactory 对象,然后将它以 SqlSessionFactory 为名来存储。在 Java 中, 相同的代码是:
SqlSessionFactoryBean factoryBean =newSqlSessionFactoryBean(); SqlSessionFactory sessionFactory = factoryBean.getObject();
在一般的 MyBatis-Spring 用法中, 你不需要直接使用 SqlSessionFactoryBean 或和其对 应的 SqlSessionFactory。相反,session 工厂将会被注入到 MapperFactoryBean 或其它扩 展了 SqlSessionDaoSupport 的 DAO(Data Access Object,数据访问对象,译者注)中。
属性
SqlSessionFactory 有一个单独的必须属性,就是 JDBC 的 DataSource。这可以是任意 的 DataSource,其配置应该和其它 Spring 数据库连接是一样的。
一个通用的属性是 configLocation,它是用来指定 MyBatis 的 XML 配置文件路径的。 如果基本的 MyBatis 配置需要改变, 那么这就是一个需要它的地方。 通常这会是<settings> 或<typeAliases>的部分。
要注意这个配置文件不需要是一个完整的 MyBatis 配置。确切地说,任意环境,数据源 和 MyBatis 的事务管理器都会被忽略。SqlSessionFactoryBean 会创建它自己的,使用这些 值定制 MyBatis 的 Environment 时是需要的。
如果 MyBatis 映射器 XML 文件在和映射器类相同的路径下不存在,那么另外一个需要 配置文件的原因就是它了。使用这个配置,有两种选择。第一是手动在 MyBatis 的 XML 配 置文件中使用<mappers>部分来指定类路径。第二是使用工厂 bean 的 mapperLocations 属 性。
mapperLocations 属性使用一个资源位置的 list。 这个属性可以用来指定 MyBatis 的 XML 映射器文件的位置。 它的值可以包含 Ant 样式来加载一个目录中所有文件, 或者从基路径下 递归搜索所有路径。比如:
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="mapperLocations"value="classpath*:sample/config/mappers/**/*.xml"/></bean>
这会从类路径下加载在 sample.config.mappers 包和它的子包中所有的 MyBatis 映射器 XML 文件。
在容器环境管理事务中,一个可能需要的属性是 transactionFactoryClass。请参考 第四章(4.2 节)中来查看有关部分。
相关推荐
1. **自动扫描与配置**:MyBatis-Spring能够自动扫描项目中的Mapper接口,并根据这些接口创建对应的SqlSessionTemplate或SqlSessionFactoryBean,无需手动配置。 2. **事务管理**:通过集成Spring的事务管理器,...
3. **SqlSessionFactoryBean**:MyBatis-Spring提供了一个SqlSessionFactoryBean,它是Spring的Bean工厂,用于创建SqlSessionFactory,这是MyBatis的核心对象,负责管理SqlSession和配置信息。 4. **...
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis-config.xml" /> ``` 这里,`dataSource`属性指定了Spring管理的...
MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...
MyBatis-Spring 提供了 SqlSessionTemplate 和 SqlSessionFactoryBean,它们是 Spring 上下文中的bean,可以自动管理 SqlSession,使得事务处理更为简便。 1. SqlSessionFactoryBean:这是 MyBatis-Spring 提供的一...
1. **SqlSessionFactoryBean**: 这个 Spring Bean 允许你在配置中指定 MyBatis 的配置文件和映射文件,从而创建 SqlSessionFactory。SqlSessionFactory 是 MyBatis 的核心组件,用于创建 SqlSession,进而执行 SQL ...
配置Spring的ApplicationContext时,需要添加Mybatis-Spring的相关bean,如SqlSessionFactoryBean和MapperScannerConfigurer。 3. **SqlSessionFactory配置** SqlSessionFactory是Mybatis的核心,负责创建...
- `SqlSessionFactoryBean`:这是一个 Spring Bean,用于配置并创建 MyBatis 的 `SqlSessionFactory`。它允许你在 Spring 配置文件中设置数据源、MyBatis 配置文件路径等属性。 - `SqlSessionTemplate`:它是 ...
- **SqlSessionFactoryBean**:这是MyBatis-Spring中的关键类,它继承自Spring的AbstractFactoryBean,负责创建SqlSessionFactory。SqlSessionFactory是MyBatis的核心,用于创建SqlSession对象,执行SQL操作。 - ...
2. **SqlSessionFactory 和 SqlSession 的管理**:MyBatis-Spring 提供了 SqlSessionFactoryBean 和 SqlSessionTemplate,它们负责创建 SqlSessionFactory 和 SqlSession 实例,并且管理其生命周期,避免了手动管理...
MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,它的主要目标是简化在 Spring 应用中使用 MyBatis 的过程,实现数据访问层(DAO)的无缝集成。这个 `mybatis-spring-1.3.2.jar` 文件就是该集成库...
1. SqlSessionFactoryBean:这是MyBatis-Spring的核心组件,它扩展了Spring的AbstractSqlSessionFactoryBean,用于创建SqlSessionFactory对象。它能够自动配置数据源、事务管理器以及MyBatis的配置文件,极大地简化...
MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,版本为 1.2.3。这个压缩包包含三个子文件:mybatis-spring-1.2.3-javadoc.jar 提供了 API 文档,mybatis-spring-1.2.3.jar 是核心库,mybatis-...
MyBatis-Spring整合包是将流行的ORM框架MyBatis与Spring框架紧密集成的一个库,旨在简化在Spring应用中使用MyBatis的过程。这个整合包提供了便捷的数据访问接口和事务管理,使得开发者能够更容易地在Spring应用中...
SqlSessionFactoryBean允许你在Spring配置中设置MyBatis的相关配置,如数据源、配置文件路径等。 2. **SqlSessionTemplate**: 它是一个线程安全的SqlSession实现,包装了基本的SqlSession方法,如selectOne、select...
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 配置数据源 --> ``` - `SqlSessionFactory`需要一个数据源(`DataSource`)。这个数据源可以是任意类型的数据源,配置...
(3)配置Spring:在Spring的配置文件中,声明SqlSessionFactoryBean,并通过mybatis-spring的SqlSessionTemplate或SqlSessionDaoSupport来创建Mapper接口的代理。 (4)注入Mapper:在需要使用Mapper的Spring Bean...
1. **SqlSessionFactoryBean**: 这是MyBatis-Spring提供的一个Spring Bean,用于创建SqlSessionFactory对象。它可以配置数据源、MyBatis的配置文件路径等,简化了在Spring中初始化MyBatis的步骤。 2. **...
- 配置SqlSessionFactory:在Spring配置文件中定义SqlSessionFactoryBean,指定MyBatis的配置文件路径和数据源。 - 创建Mapper接口:根据MyBatis的XML映射文件创建对应的Mapper接口。 - 配置Mapper:使用...