在Spring MVC + Mybatis的项目中我们有时候需要在测试代码中注入Dao操作数据库,对表进行增删改查,实现如下:
这是一般的maven项目项目结构
测试代码一般写在src/test/Java包下。
这是一个普通的测试类,通过mybatis查询某个表的数据。
public class SpringMybatisTest {
@Resource
private static TestDao testDao;
@BeforeClass
public static void init(){
//初始化spring 获取上下文
ApplicationContext content = new ClassPathXmlApplicationContext("classpath*:spring/spring.xml");
testDao = content.getBean(TestDao.class);
}
@Test
public void test1(){
List<Map<Object,Object>> list = this.testDao.queryListMap();
for(Map<Object,Object> map : list){
for(Map.Entry<Object, Object> temp : map.entrySet()){
System.out.println("key:"+temp.getKey()+"----"+"value:"+temp.getValue());
}
}
}
}
如果在初始化spring的时候有多个xml文件需要导入的时候,可以采用下面的方法:
ApplicationContext content = new ClassPathXmlApplicationContext("classpath*:spring/root.xml");
在root.xml中引入所有的spring配置文件,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans">
<import resource="classpath*:spring/spring.xml"/>
<import resource="classpath*:spring/spring-mvc.xml"/>
</beans>
TestDao接口代码:
public interface TestDao {
public List<Map<Object,Object>> queryListMap();
}
对应的xml文件sql:
<select id="queryListMap" resultType="java.util.HashMap">
select * from test
</select>
test表很简单,如下:
运行测试方法,结果如下:
可以正常对数据库进行正常的访问,并不需要写到复杂的controller或者serverice中。
SpringMVC总结篇 http://www.linuxidc.com/Linux/2016-06/132659.htm
Spring+SpringMVC企业快速开发架构搭建 http://www.linuxidc.com/Linux/2015-09/122942.htm
SpringMVC的乱码处理 http://www.linuxidc.com/Linux/2015-07/120542.htm
Spring MVC整合Freemarker基于注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm
SpringMVC详细示例实战教程 http://www.linuxidc.com/Linux/2015-06/118461.htm
SpringMVC 异常处理 http://www.linuxidc.com/Linux/2015-06/119049.htm
Spring + Spring MVC + Ibatis + Velocity 框架搭建 http://www.linuxidc.com/Linux/2016-10/135846.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138884.htm