整合spring和mybatis的主要配置,不熟的话很容易出错,要么是命名空间写错,要么是路径不对,所以在这里记录下:
jar包用的是spring3.0.5的mybatis是3.1.1的
spring-servlet.xml配置
这里为了简单不为效率规范考虑只简单配置了个扫描配置
<!-- 扫描classpath的包下的所有类,该包路径下的类可以不需要配置bean了 -->
<context:component-scan base-package="com.wubu" />
application.xml配置
<!-- 导入属性配置文件 -->
<context:property-placeholder location="classpath:DataSourceConfig.properties" /><!-- ***************配置数据源************** -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${mysql.driverClassName}" />
<property name="url" value="${mysql.url}" />
<property name="username" value="${mysql.username}"></property>
<property name="password" value="${mysql.password}"></property>
</bean>
<!-- SqlSessionFactory -->
<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>
<!--扫描所有的Mapper接口-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="包路径" />
</bean>
<!-- 注册事务管理类-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 开启事务行为 -->
<tx:annotation-driven transaction-manager="transactionManager" />
映射文件 命名空间是Mapper接口的路径.接口名字 这里就是com.test.mapper.UserMapper
<mapper namespace="com.test.mapper.UserMapper" >
<select id="queryUser" resultType="com.test.UserBean">
select * from user
</select>
<!--mapper接口-->
package com.test.mapper;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.test.bean.UserBaseInfo;
@Repository(value = "userMapper")
public interface UserMapper {
public List<UserBean> queryUser();
}