springboot 如何配置sqlSessionFactory 和 sqlSessionTemplate
时间: 2023-07-25 21:15:59 浏览: 275
Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程
在 Spring Boot 中使用 MyBatis,可以通过在 application.properties 或 application.yml 文件中进行配置。下面是一个示例:
application.properties:
```
mybatis.config-location=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*.xml
```
application.yml:
```
mybatis:
config-location: classpath:mybatis-config.xml
mapper-locations: classpath:mapper/*.xml
```
其中,mybatis.config-location 指定 MyBatis 的配置文件位置,mybatis.mapper-locations 指定 Mapper 文件的位置。
在 MyBatis 的配置文件 mybatis-config.xml 中,需要配置 SqlSessionFactory 或 SqlSessionTemplate,例如:
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
```
在这个示例中,使用了 SqlSessionFactoryBean 和 SqlSessionTemplate 两个类,分别用于创建 SqlSessionFactory 和 SqlSession。其中,SqlSessionFactoryBean 需要配置 dataSource、configLocation 和 mapperLocations 属性,分别为数据源、MyBatis 的配置文件和 Mapper 文件的位置。SqlSessionTemplate 则需要一个构造函数参数,即 SqlSessionFactory。
需要注意的是,如果使用了 Spring Boot 的自动配置功能,那么可以不用显式配置 SqlSessionFactory 和 SqlSessionTemplate,只需要在 application.properties 或 application.yml 文件中配置 mybatis.config-location 和 mybatis.mapper-locations 即可。
阅读全文