Spring两种引入MyBatis配置文件方法
1、(推荐)单独新建一个mybatis-config.xml
文件,然后依赖注入进Spring
容器里
spring容器里引入mybatis-config,mybatis-config里有Mapper映射文件地址就直接获取了
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<typeAliases>
<!-- pojo所在的包 -->
<package name="cn.yznu.pojo" />
</typeAliases>
<!-- 配置映射文件的位置 -->
<mappers>
<!-- 有几个Mapper就写几个 -->
<mapper resource="mappers/UserMapper.xml" />
</mappers>
</configuration>
spring.xml:
<property name="configLocation" value="classpath:mybatis-config.xml"/>
引入mybatis配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 引入db.properties文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 获取数据库连接池对象dateSource -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 获取sqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 引入mybatis-config.xml -->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!-- 获取sqlSession对象 -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>
<context:component-scan base-package="cn.yznu"/>
</beans>
2、直接在Spring
容器里用<property>
注入
直接获取Mapper映射文件地址,就不需要写mybatis-config.xml文件
<property name="mapperLocations" value="classpath:mappers/*.xml"/>
引入Mapper映射文件地址
spring.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 引入db.properties文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 获取数据库连接池对象dateSource -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 获取sqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- Mapper文件地址 -->
<property name="mapperLocations" value="classpath:mappers/*.xml"/>
</bean>
<!-- 获取sqlSession对象 -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>
<context:component-scan base-package="cn.yznu"/>
</beans>