日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Mybatis如何使用注解優(yōu)化代碼

瀏覽:131日期:2023-10-21 18:31:41

entity層代碼不變,因為是優(yōu)化,所以在dao層新增了一個通過id查詢用戶的功能,現(xiàn)在來演示一下優(yōu)化前后的代碼對比,希望你們喜歡

entity層代碼不變,dao層中的UserMapper中添加一個方法

/*** 根據(jù)id查詢用戶*/User findUserById(int id);

在UserMapper.xml映射文件中添加

<select parameterType='int' resultType='com.vg.entity.User'> select * from user where id = #{id}; </select>

在test層中的test中使用沒有優(yōu)化的代碼展示

package com.vg.test;import com.vg.dao.UserMapper;import com.vg.entity.User;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;import java.io.InputStream;import java.util.List;/** * 測試類 */public class TestUserMapper {/** * 測試方法:查詢所有學生 * SqlSessionFactoryBuilder => SqlSessionFactory => SqlSession:相當于JDBC中的Connection對象,提供了操作數(shù)據(jù)庫的CRUD方法 */@Testpublic void testFindAllUsers()throws Exception{// 1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對象// Resources類作用:專門讀取src目錄下的資源文件InputStream in = Resources.getResourceAsStream('sqlMapConfig.xml');// 2. 實例化會話工廠創(chuàng)建類SqlSessionFactoryBuilderSqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();// 3. 通過會話工廠創(chuàng)建類,讀取上面的輸入流,得到會話工廠SqlSessionFactory類SqlSessionFactory sqlSessionFactory = builder.build(in);// 4. 使用SqlSessionFactory對象,創(chuàng)建SqlSession對象// a) 它相當于JDBC中的Connection對象,提供了操作數(shù)據(jù)庫的CRUD方法// b) 它提供了一個getMapper()方法,獲取接口的實現(xiàn)對象。SqlSession sqlSession = sqlSessionFactory.openSession();// 5. 獲取接口 UserMapper 實現(xiàn)類對象(代理對象)UserMapper userMapper = sqlSession.getMapper(UserMapper.class);System.out.println('userMapper = ' +userMapper);// 6. 執(zhí)行數(shù)據(jù)庫的查詢操作,輸出用戶信息List<User> userList = userMapper.findAllUsers();for (User user : userList) {System.out.println(user);}// 7. 關(guān)閉會話,釋放資源。sqlSession.close();}@Testpublic void testFindUserById()throws Exception{// 1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對象// Resources類作用:專門讀取src目錄下的資源文件InputStream in = Resources.getResourceAsStream('sqlMapConfig.xml');// 2. 實例化會話工廠創(chuàng)建類SqlSessionFactoryBuilderSqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();// 3. 通過會話工廠創(chuàng)建類,讀取上面的輸入流,得到會話工廠SqlSessionFactory類SqlSessionFactory sqlSessionFactory = builder.build(in);// 4. 使用SqlSessionFactory對象,創(chuàng)建SqlSession對象// a) 它相當于JDBC中的Connection對象,提供了操作數(shù)據(jù)庫的CRUD方法// b) 它提供了一個getMapper()方法,獲取接口的實現(xiàn)對象。SqlSession sqlSession = sqlSessionFactory.openSession();// 5. 獲取接口 UserMapper 實現(xiàn)類對象(代理對象)UserMapper userMapper = sqlSession.getMapper(UserMapper.class);System.out.println('userMapper = ' +userMapper);// 6. 調(diào)用接口的方法根據(jù)id查詢用戶User user = userMapper.findUserById(1);System.out.println('user = ' + user);// 7. 關(guān)閉會話,釋放資源。sqlSession.close();}}

你會發(fā)現(xiàn)在這倆個方法中有很多相似的代碼,每次寫都要重新寫,關(guān)鍵是還沒有啥軟用,現(xiàn)在來看看優(yōu)化之后的代碼

package com.vg.test;import com.vg.dao.UserMapper;import com.vg.entity.User;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.After;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;import java.io.IOException;import java.io.InputStream;import java.util.List;/** * 測試類 */public class TestUserMapper {private static SqlSessionFactory sqlSessionFactory =null;private SqlSession sqlSession =null;private UserMapper userMapper =null;// 該方法在所有測試方法執(zhí)行之前執(zhí)行1次@BeforeClasspublic static void init() throws Exception {// 1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對InputStream in = Resources.getResourceAsStream('sqlMapConfig.xml');// 2. 實例化會話工廠創(chuàng)建類SqlSessionFactoryBuilder對象SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();// 3. 根據(jù)字節(jié)輸入流獲取SqlSessionFactory對象sqlSessionFactory = builder.build(in);}// 該方法會在每個測試方法執(zhí)行之前執(zhí)行1次@Beforepublic void before(){// 4. 獲取SqlSession對象,等價連接對象// true:事務自動提交,false:不自動提交,默認值sqlSession = sqlSessionFactory.openSession();// 5. 創(chuàng)建接口 實現(xiàn)類對象 userMapper = sqlSession.getMapper(UserMapper.class);}/** * 測試方法:查詢所有學生 * SqlSessionFactoryBuilder => SqlSessionFactory => SqlSession:相當于JDBC中的Connection對象,提供了操作數(shù)據(jù)庫的CRUD方法 */@Testpublic void testFindAllUsers() throws Exception{List<User> userList = userMapper.findAllUsers();for (User user : userList) {System.out.println(user);}}@Testpublic void testFindUserById()throws Exception{// 6. 調(diào)用接口的方法根據(jù)id查詢用戶User user = userMapper.findUserById(1);System.out.println('user = ' + user);}@Afterpublic void after() {// 7. 關(guān)閉會話,釋放資源。sqlSession.close();}}

這樣子是不是比以前的代碼簡單起來了呢?

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
超级白嫩亚洲国产第一| 亚洲国产日韩欧美在线| 麻豆精品91| 日韩影院免费视频| 香蕉久久夜色精品国产| 亚洲丝袜啪啪| 亚洲精品高潮| 亚洲精品一级| 亚洲91网站| 日韩不卡在线观看日韩不卡视频| 日本vs亚洲vs韩国一区三区二区| 日本欧美韩国一区三区| 国产精品亚洲综合在线观看| 精品国产精品国产偷麻豆| а√在线中文在线新版| 国产精品99一区二区| 午夜在线播放视频欧美| 亚洲精品护士| 国产精品嫩模av在线| 国产一区二区三区天码| 日韩欧美另类一区二区| 午夜国产一区二区| 亚洲色图国产| 国产日韩欧美一区二区三区在线观看 | 极品日韩av| 香蕉久久国产| 69精品国产久热在线观看| 国产精品sm| 亚洲www免费| 久久福利一区| 欧美在线看片| а√天堂8资源在线| 夜夜嗨一区二区| 国产精品最新自拍| 亚洲精品一区三区三区在线观看| 久久免费国产| 亚洲精品三级| av日韩中文| 免费日韩视频| 欧美国产不卡| 婷婷综合网站| 国产毛片精品久久| 日本免费一区二区三区四区| 亚洲免费中文| 久久伊人久久| 久久福利精品| 成人在线黄色| 综合一区二区三区| 在线看片国产福利你懂的| 亚洲欧美网站| 国产精品一级在线观看| 久久精品卡一| 国产精品一区毛片| 99亚洲视频| 精品久久网站| 亚洲一级大片| 日韩大片在线| 日韩精品亚洲aⅴ在线影院| 成人片免费看| 日韩国产在线观看一区| 欧美亚洲激情| 久久超级碰碰| 免费欧美日韩| 日韩专区精品| 国产精品香蕉| 亚洲一区区二区| 美女福利一区二区三区| 欧美一区网站| 久久福利精品| 亚洲黄色免费看| 欧美一级网址| 欧美日韩国产在线一区| 精品一区二区三区亚洲 | 日韩精品亚洲专区在线观看| 久久久夜夜夜| 麻豆免费精品视频| 亚洲综合婷婷| 亚洲www啪成人一区二区| 日韩精品一页| 亚洲欧美日韩国产综合精品二区| 日韩福利一区| 国产高清日韩| 日韩精彩视频在线观看| 日韩一级网站| 欧美日韩尤物久久| 精品国产乱码久久久久久1区2匹| 色婷婷成人网| 欧美另类专区| 视频福利一区| 97国产精品| 美女久久久久久| 日韩高清不卡在线| 亚洲黄色在线| 久久国产电影| 日韩不卡视频在线观看| 成人精品动漫一区二区三区| 久久国产欧美日韩精品| 亚洲一区欧美| 久久国产福利| 91精品1区| 丝袜av一区| 日韩中文影院| 91av亚洲| 久久男人天堂| jizzjizz中国精品麻豆| 精品国产欧美日韩一区二区三区| 日韩精品五月天| 男人的天堂久久精品| 亚洲精品在线观看91| 久久国产欧美| 久久久天天操| 视频福利一区| 亚洲大片在线| 久久中文字幕av| 日韩欧美不卡| 日韩国产在线| 日韩精品水蜜桃| 91精品一区国产高清在线gif| 日韩另类视频| 1024精品一区二区三区| 日本国产精品| 久久精品国产亚洲夜色av网站| 亚洲天堂av影院| 青青青免费在线视频| 青青久久av| 欧美+日本+国产+在线a∨观看| 欧美aa在线观看| 久久久水蜜桃av免费网站| 欧美日韩一区二区综合 | 日韩二区在线观看| 欧美日韩夜夜| 久久一区视频| 97人人精品| 亚洲天堂久久| 亚洲欧美激情诱惑| 蜜臀久久99精品久久久画质超高清| 亚洲精品第一| 国产精品激情| 捆绑调教日本一区二区三区| 欧美日韩在线观看视频小说| 在线亚洲成人| 少妇高潮一区二区三区99| 国产日韩免费| 日韩成人精品一区| 国产精品99免费看| 蜜桃视频在线观看一区二区| 欧美亚洲综合视频| 国产一区二区视频在线看| 久久久成人网| 免费欧美日韩| 日韩欧美中文字幕在线视频| 国产高清精品二区| 成人va天堂| 国产精品毛片| 国产欧美日韩影院| 亚洲深夜视频| 丝袜美腿成人在线| 日韩和欧美一区二区| 成人台湾亚洲精品一区二区| 亚洲二区在线| 日本在线不卡视频一二三区| 麻豆一区在线| 免费视频国产一区| 91九色综合| 日韩一区二区在线免费| 夜夜精品视频| 久久wwww| 欧美综合另类| 欧美亚洲综合视频| 日韩欧美自拍| 日韩中文av| 亚洲午夜天堂| 亚洲乱码一区| 在线手机中文字幕| 亚洲一区二区日韩| 国产伊人久久| 爽好久久久欧美精品| 精品国产一区二区三区av片| 五月精品视频| 国产精品一区二区美女视频免费看 | 91亚洲精品视频在线观看 | 国产在线不卡一区二区三区 | 亚洲精品综合| jizzjizz中国精品麻豆| 亚洲深深色噜噜狠狠爱网站 | 亚洲风情在线资源| 日韩欧美2区| 视频福利一区| 国产精品麻豆成人av电影艾秋| 激情婷婷久久| 麻豆精品新av中文字幕| 蜜臀av亚洲一区中文字幕| 理论片午夜视频在线观看| 日本v片在线高清不卡在线观看| 欧美精品资源| 免费看久久久| 亚洲2区在线| 国产一区观看| 精品国产三区在线| 97久久亚洲|