一、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;
@Resource
private SqlSessionTemplate sqlSessionTemplate;
@Autowired
private UserDao userDao;
@Override
public User searchUser() {
// TODO Auto-generated method stub
System.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{
@Resource
private SqlSessionTemplate sqlSessionTemplate;
@Autowired
private 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测试包