spring与mybatis整合步骤:
1、创建maven项目 并导入所需依赖
2、创建mybatis主配置文件(mybatis-config.xml)
3、配置mybatis与spring的一个整合包
创建方式:new--->XML Configuration File------> Spring Config
如果XML Configuration File下没有Spring Config 那么原因很可能是未导入Spring的依赖
mybatis与spring的一个整合配置文件(applicationContext-mybatis.xml):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
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
">
<!--配置dbcp数据源-->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms?useUnicode&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</bean>
<!--配置sqlSessionFactoryBean-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--引用数据源组件-->
<property name="dataSource" ref="dataSource"/>
<!--引用mybatis配置文件位置-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<!--配置和接口对应的映射文件-->
<property name="mapperLocations">
<list>
<value>classpath:com/smbms/mapper/**/*.xml</value>
</list>
</property>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
<bean id="userMapper" class="com.smbms.mapper.user.UserMapperImpl">
<property name="sqlSessionTemplate" ref="sqlSessionTemplate"/>
</bean>
<bean id="userService" class="com.smbms.service.UserServiceImpl">
<property name="userMapper" ref="userMapper"/>
</bean>
4、编写业务逻辑代码并测试
今天在完成spring与mybatis的整合的作业的时候遇到一个问题 就是 编译时类路径下找不到该mapper.xml映射文件 其实这个问题
在mybatis中就遇到过 其中有两种解决方案 第一种呢 就是将你的mapper映射文件放在resources资源包下这样编译的之后就能检索
到你的映射文件
我平时喜欢直接写在mapper包下 但是这样的话编译的时候检索不到 所以我们就可以使用第二种解决方案:
只需要在pom.xml文件中加入代码
<build>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
即可