`

MyBatis-Spring-SqlSessionFactoryBean .

 
阅读更多

出处: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 节)中来查看有关部分。

分享到:
评论

相关推荐

    mybatis-spring-1.3.1.jar下载

    1. **自动扫描与配置**:MyBatis-Spring能够自动扫描项目中的Mapper接口,并根据这些接口创建对应的SqlSessionTemplate或SqlSessionFactoryBean,无需手动配置。 2. **事务管理**:通过集成Spring的事务管理器,...

    mybatis-spring-1.3.0.jar 下载

    3. **SqlSessionFactoryBean**:MyBatis-Spring提供了一个SqlSessionFactoryBean,它是Spring的Bean工厂,用于创建SqlSessionFactory,这是MyBatis的核心对象,负责管理SqlSession和配置信息。 4. **...

    MyBatis整合Spring中间件jar包 mybatis-spring-1.3.0.jar

    &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt; &lt;property name="configLocation" value="classpath:mybatis-config.xml" /&gt; ``` 这里,`dataSource`属性指定了Spring管理的...

    mybatis-spring-1.3.3.jar官方下载

    MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...

    mybatis-spring-1.0.1-bundle.zip

    MyBatis-Spring 提供了 SqlSessionTemplate 和 SqlSessionFactoryBean,它们是 Spring 上下文中的bean,可以自动管理 SqlSession,使得事务处理更为简便。 1. SqlSessionFactoryBean:这是 MyBatis-Spring 提供的一...

    mybatis-spring-1.3.2.zip

    1. **SqlSessionFactoryBean**: 这个 Spring Bean 允许你在配置中指定 MyBatis 的配置文件和映射文件,从而创建 SqlSessionFactory。SqlSessionFactory 是 MyBatis 的核心组件,用于创建 SqlSession,进而执行 SQL ...

    Mybatis-Spring-1.2.2中文文档.zip

    配置Spring的ApplicationContext时,需要添加Mybatis-Spring的相关bean,如SqlSessionFactoryBean和MapperScannerConfigurer。 3. **SqlSessionFactory配置** SqlSessionFactory是Mybatis的核心,负责创建...

    mybatis-spring-1.0.0.rar

    - `SqlSessionFactoryBean`:这是一个 Spring Bean,用于配置并创建 MyBatis 的 `SqlSessionFactory`。它允许你在 Spring 配置文件中设置数据源、MyBatis 配置文件路径等属性。 - `SqlSessionTemplate`:它是 ...

    mybatis-spring-1.2.3-source.zip

    - **SqlSessionFactoryBean**:这是MyBatis-Spring中的关键类,它继承自Spring的AbstractFactoryBean,负责创建SqlSessionFactory。SqlSessionFactory是MyBatis的核心,用于创建SqlSession对象,执行SQL操作。 - ...

    mybatis-spring-1.2.0-bundle.zip

    2. **SqlSessionFactory 和 SqlSession 的管理**:MyBatis-Spring 提供了 SqlSessionFactoryBean 和 SqlSessionTemplate,它们负责创建 SqlSessionFactory 和 SqlSession 实例,并且管理其生命周期,避免了手动管理...

    mybatis-spring-1.3.2.jar

    MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,它的主要目标是简化在 Spring 应用中使用 MyBatis 的过程,实现数据访问层(DAO)的无缝集成。这个 `mybatis-spring-1.3.2.jar` 文件就是该集成库...

    mybatis-spring-1.2.5.zip

    1. SqlSessionFactoryBean:这是MyBatis-Spring的核心组件,它扩展了Spring的AbstractSqlSessionFactoryBean,用于创建SqlSessionFactory对象。它能够自动配置数据源、事务管理器以及MyBatis的配置文件,极大地简化...

    mybatis-spring-1.2.3.zip

    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.jar整合包(包含两个版本,有源码jar包)

    MyBatis-Spring整合包是将流行的ORM框架MyBatis与Spring框架紧密集成的一个库,旨在简化在Spring应用中使用MyBatis的过程。这个整合包提供了便捷的数据访问接口和事务管理,使得开发者能够更容易地在Spring应用中...

    mybatis-spring-1.2.1.zip

    SqlSessionFactoryBean允许你在Spring配置中设置MyBatis的相关配置,如数据源、配置文件路径等。 2. **SqlSessionTemplate**: 它是一个线程安全的SqlSession实现,包装了基本的SqlSession方法,如selectOne、select...

    mybatis-spring-1.0.0中文参考手册

    &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt; &lt;!-- 配置数据源 --&gt; ``` - `SqlSessionFactory`需要一个数据源(`DataSource`)。这个数据源可以是任意类型的数据源,配置...

    mybatis-spring-1.1.1-bundle

    (3)配置Spring:在Spring的配置文件中,声明SqlSessionFactoryBean,并通过mybatis-spring的SqlSessionTemplate或SqlSessionDaoSupport来创建Mapper接口的代理。 (4)注入Mapper:在需要使用Mapper的Spring Bean...

    mybatis-spring-1.2.2整合包.zip

    1. **SqlSessionFactoryBean**: 这是MyBatis-Spring提供的一个Spring Bean,用于创建SqlSessionFactory对象。它可以配置数据源、MyBatis的配置文件路径等,简化了在Spring中初始化MyBatis的步骤。 2. **...

    mybatis-spring整合jar包

    - 配置SqlSessionFactory:在Spring配置文件中定义SqlSessionFactoryBean,指定MyBatis的配置文件路径和数据源。 - 创建Mapper接口:根据MyBatis的XML映射文件创建对应的Mapper接口。 - 配置Mapper:使用...

Global site tag (gtag.js) - Google Analytics