Spring整合Mybatis【自动扫描方式】

来源:互联网 发布:耶稣是韩国人 知乎 编辑:程序博客网 时间:2024/04/25 21:18

一、Spring配置文件:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"   xmlns:tx="http://www.springframework.org/schema/tx"   xmlns:jpa="http://www.springframework.org/schema/data/jpa"   xmlns:p="http://www.springframework.org/schema/p"   xmlns:redis="http://www.springframework.org/schema/redis"   xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"   xsi:schemaLocation="http://www.springframework.org/schema/tx    http://www.springframework.org/schema/tx/spring-tx.xsd   http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans.xsd   http://www.springframework.org/schema/data/jpa   http://www.springframework.org/schema/data/jpa/spring-jpa.xsd   http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context.xsd   http://www.springframework.org/schema/redis             http://www.springframework.org/schema/redis/spring-redis.xsd            http://www.springframework.org/schema/aop            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><context:annotation-config /><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url"value="jdbc:mysql://192.168.1.241:3306/test?useUnicode=true&characterEncoding=UTF-8" /><property name="username" value="cfwx" /><property name="password" value="123456" /></bean><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="configLocation" value="classpath:mybatis_configuration.xml" /><property name="mapperLocations" value="classpath:dao/mapper/*.xml"/></bean><bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">             <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />       </bean><!-- <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">      <property name="mapperInterface" value="dao.UserDao"/>      <property name="sqlSessionFactory" ref="sqlSessionFactory"/>  </bean> --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="dao" /><property name="markerInterface" value="dao.SqlMapper" /></bean></beans>

二、SqlMapper.java

package dao;public interface SqlMapper {}

三、UserDao

public interface UserDao extends SqlMapper{//public List<User> searchUser();public User searchUser();}

四、UserDaoImpl

public class UserDaoImpl implements UserDao{//private UserDao userDao;@Resourceprivate SqlSessionTemplate sqlSessionTemplate;@Autowiredprivate UserDao userDao;@Overridepublic User searchUser() {// TODO Auto-generated method stubSystem.out.println(sqlSessionTemplate==null);//User user = sqlSessionTemplate.selectOne("dao.UserDao.searchUser");User user = userDao.searchUser();System.out.println(user.getUsername());return user;} }

五、测试

注意:需要通过SpringJunit才能测试成功,如果测试方法和上一篇的测试方法一样,在main方法中直接调用,会包空指针异常

SpringJunit需要的jar包:hamcrest-core-1.3.jar、junit-4.11.jar、spring-test.jar

@RunWith(SpringJUnit4ClassRunner.class)  @ContextConfiguration(locations={"classpath:myspring.xml"})  public class UserServiceTest{@Resourceprivate SqlSessionTemplate sqlSessionTemplate;@Autowiredprivate UserDao userDao;        @Test      public void testBatchDelete() {  //User user = sqlSessionTemplate.selectOne("dao.UserDao.searchUser");User user = userDao.searchUser();System.out.println(user.getUsername());    } }

六、项目结构图

七、所需jar包

与上篇文章jar包相同,只是多了hamcrest-core-1.3.jar、junit-4.11.jar、spring-test.jar这3个springJunit测试包

0 0
原创粉丝点击