在Spring Mvc + Mybatis的項目中我們有時候需要在測試代碼中註入Dao操作資料庫,對錶進行增刪改查,實現如下: 這是一般的maven項目項目結構 測試代碼一般寫在src/test/java包下。 這是一個普通的測試類,通過mybatis查詢某個表的數據。 如果在初始化spring的時 ...
在Spring Mvc + Mybatis的項目中我們有時候需要在測試代碼中註入Dao操作資料庫,對錶進行增刪改查,實現如下:
這是一般的maven項目項目結構
測試代碼一般寫在src/test/java包下。
這是一個普通的測試類,通過mybatis查詢某個表的數據。
1 public class SpringMybatisTest { 2 3 @Resource 4 private static TestDao testDao; 5 6 @BeforeClass 7 public static void init(){ 8 //初始化spring 獲取上下文 9 ApplicationContext content = new ClassPathXmlApplicationContext("classpath*:spring/spring.xml"); 10 testDao = content.getBean(TestDao.class); 11 } 12 @Test 13 public void test1(){ 14 List<Map<Object,Object>> list = this.testDao.queryListMap(); 15 for(Map<Object,Object> map : list){ 16 for(Map.Entry<Object, Object> temp : map.entrySet()){ 17 System.out.println("key:"+temp.getKey()+"----"+"value:"+temp.getValue()); 18 } 19 } 20 } 21 }
如果在初始化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中。