MyBatis使用Map與模糊查詢的方法示例
當(dāng)我們的實體類、或者數(shù)據(jù)庫里的表、字段或者參數(shù)很多,這個時候考慮使用map
一、使用map傳參插入數(shù)據(jù)
1.編寫Dao接口/Mapper層 使用Map做參數(shù)
//Dao接口/Mapper層 使用Map傳參 int addUser2(Map<String,Object> map);
2.編寫Mapper.xml中的sql語句
<!-- 傳遞map的key--> <insert id="addUser2" parameterType="map"> insert into firend_mq.users (id,username,password) value (#{userid},#{name},#{pwd}) </insert>
3.編寫測試類
//使用map傳參添加插入 @Test public void addUser2(){ SqlSession sqlSession = Mybatisutil.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("userid",4); map.put("name","好人"); map.put("pwd",1111111); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
使用Map傳參也可以批量插入數(shù)據(jù)
MyBatis 批量插入/修改/刪除數(shù)據(jù)(MySql)
二、使用map修改數(shù)據(jù)
當(dāng)我們的實體類、或者數(shù)據(jù)庫里的表、字段或者參數(shù)很多的時候,使用一般的實體類傳參,就需要將所有的字段全部寫入,顯然太過于繁瑣,這時候使用map傳入你需要更改的字段就行
代碼大致相似就不放代碼了。。。
三、模糊查詢
1.方式一:java代碼執(zhí)行的時候,傳遞通配符% %
List<User> likelist = mapper.getUserlike("%毛%");
2.方式二:在Mapper.xml中的sql拼接中使用通配符
select * from firend_mq.users where username like "%"#{value}"%"
實現(xiàn)結(jié)果:
總結(jié):
- Map傳遞參數(shù),直接寫sql語句中取出即可 {parameterType=“map”}
優(yōu)點可以在取參數(shù)#{value}的時候可以DIY,直接使用自己傳入的key值 - 對象傳遞參數(shù),直接在sql中取對象的屬性即可 {parameterType=“Object”}
但是必須和實體類名字一致 - 只有一個基本類型參數(shù)的情況下,可以直接在sql中取到
- 多個參數(shù)用Map,或者注解
到此這篇關(guān)于MyBatis使用Map與模糊查詢的文章就介紹到這了,更多相關(guān)MyBatis用Map與模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實現(xiàn)從網(wǎng)絡(luò)下載多個文件
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)從網(wǎng)絡(luò)下載多個文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07java爬蟲jsoup解析HTML的工具學(xué)習(xí)
jsoup是一個解析HTML的第三方j(luò)ava庫,它提供了一套非常方便的API,可使用DOM,CSS以及類jQuery的操作方法來取出和操作數(shù)據(jù),本文就來開始jsoup的使用學(xué)習(xí)2022-07-07java狀態(tài)機方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解
這篇文章主要為大家介紹了java狀態(tài)機方案解決訂單狀態(tài)扭轉(zhuǎn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03圖解Java經(jīng)典算法插入排序的原理與實現(xiàn)
插入排序的算法描述是一種簡單直觀的排序算法。其原理是通過構(gòu)建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將用Java語言實現(xiàn)插入排序算法并進(jìn)行可視化,感興趣的可以了解一下2022-09-09springboot+thymeleaf找不到視圖的解決方案
這篇文章主要介紹了springboot+thymeleaf找不到視圖的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06