Mybatis第二天 使用MyBatis進行CRUD操作
阿新 • • 發佈:2018-12-20
1.準備工作
-
**建立工程
-
匯入jar包(maven座標)
-
建立一個實體(實體類和資料庫的表對應)
-
建立介面,編寫一個方法(介面UserDao.java)
-
編寫配置檔案(resources資源下,sqlMapConfig.xml)
-
編寫對映檔案(resources資源下,建立的包結果和介面的結構對應,UserDao.xml)
-
測試類(使用mybatis的api),操作查詢所有**
-
2. 使用Junit重寫UserDao.java
/**
* 測試mybatis的crud操作
*/
public class MybatisTest {
private InputStream in;
private SqlSession sqlSession;
private UserDao userDao;
@Before//用於在測試方法執行之前執行
public void init()throws Exception{
//1.讀取配置檔案,生成位元組輸入流
in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.獲取SqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.獲取SqlSession物件
sqlSession = factory.openSession();
//4.獲取dao的代理物件
userDao = sqlSession.getMapper(UserDao.class);
}
@After//用於在測試方法執行之後執行
public void destroy()throws Exception{
//提交事務
sqlSession.commit ();
//6.釋放資源
sqlSession.close();
in.close();
}
/**
* 測試查詢所有
*/
@Test
public void testFindAll(){
//5.執行查詢所有方法
List<User> users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
/*
儲存,刪除,修改等操作
*/
}
3.進行CURD時的注意事項
3.1 事務處理
== 在進行增刪改時需要進行事務處理,而mybatis內部會自動開啟和回滾事務, 所以需要我們使用sqlSession.commit()來提交事務. ==