1. 程式人生 > >Mybatis第二天 使用MyBatis進行CRUD操作

Mybatis第二天 使用MyBatis進行CRUD操作

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()來提交事務. ==