日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

四、MyBatis 框架 Dao 动态代理

發(fā)布時間:2024/7/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 四、MyBatis 框架 Dao 动态代理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.1 步驟

(1) 去掉 之前編寫的Dao 接口實現(xiàn)類

(2) getMapper 獲取代理對象

只需調(diào)用 SqlSession 的 getMapper()方法,即可獲取指定接口的實現(xiàn)類對象。該方法的參數(shù)為指定 Dao接口類的 class 值。

不使用工具類:

SqlSession session = factory.openSession(); StudentDao dao = session.getMapper(StudentDao.class);

使用工具類:

SqlSession sqlSession = MybatisUtils.getSqlSession(); // 這句代碼可以自動創(chuàng)建dao接口的實現(xiàn)類對象 StudentDao dao = sqlSession.getMapper(StudentDao.class);

(3) 使用 Dao 代理對象方法執(zhí)行 sql 語句

@Testpublic void testSelectStudents() {/*** 使用mybatis的動態(tài)代理機制,使用SqlSession.getMapper(dao接口)* getMapper能夠獲取dao接口對應(yīng)的實現(xiàn)類對象。*/SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class); // 這句代碼可以自動創(chuàng)建dao接口的實現(xiàn)類對象//調(diào)用dao的方法,執(zhí)行數(shù)據(jù)庫的操作List<Student> students = dao.selectStudents();for (Student student : students) {System.out.println("學生=" + student);}}@Testpublic void testInsertStudents() {SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);Student student = new Student();student.setId(1004);student.setName("亞瑟");student.setEmail("yase@qq.com");student.setAge(35);int nums = dao.insertStudent(student);sqlSession.commit();System.out.println("添加對象的數(shù)量:" + nums);}@Testpublic void testUpdateStudents() {SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);Student student = new Student();student.setId(1002);student.setAge(222);int nums = dao.updateStudent(student);sqlSession.commit();System.out.println("更新對象的數(shù)量:" + nums);}@Testpublic void testDeleteStudents() {SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);int nums = dao.deleteStudent(1003);sqlSession.commit();System.out.println("刪除對象的數(shù)量:" + nums);}

在上一篇博文三、MyBatis 使用傳統(tǒng) Dao 開發(fā)方式的基礎(chǔ)上,只做了以下更改:

  • 刪除dao的實現(xiàn)類StudentDaoImpl
  • 修改TestMybatis的代碼:
  • 所以缺少的代碼請參考三、MyBatis 使用傳統(tǒng) Dao 開發(fā)方式

    package com.zep;import com.zep.dao.StudentDao; import com.zep.domain.Student; import com.zep.utils.MybatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test;import java.util.List;public class TestMybatis {@Testpublic void testSelectStudents() {/*** 使用mybatis的動態(tài)代理機制,使用SqlSession.getMapper(dao接口)* getMapper能夠獲取dao接口對應(yīng)的實現(xiàn)類對象。*/SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class); // 這句代碼可以自動創(chuàng)建dao接口的實現(xiàn)類對象//調(diào)用dao的方法,執(zhí)行數(shù)據(jù)庫的操作List<Student> students = dao.selectStudents();for (Student student : students) {System.out.println("學生=" + student);}}@Testpublic void testInsertStudents() {SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);Student student = new Student();student.setId(1004);student.setName("亞瑟");student.setEmail("yase@qq.com");student.setAge(35);int nums = dao.insertStudent(student);sqlSession.commit();System.out.println("添加對象的數(shù)量:" + nums);}@Testpublic void testUpdateStudents() {SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);Student student = new Student();student.setId(1002);student.setAge(222);int nums = dao.updateStudent(student);sqlSession.commit();System.out.println("更新對象的數(shù)量:" + nums);}@Testpublic void testDeleteStudents() {SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);int nums = dao.deleteStudent(1003);sqlSession.commit();System.out.println("刪除對象的數(shù)量:" + nums);}}

    總結(jié)

    以上是生活随笔為你收集整理的四、MyBatis 框架 Dao 动态代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。