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)點(diǎn)可以在取參數(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)文章
關(guān)于Spring MVC同名參數(shù)綁定問題的解決方法
Spring MVC中的參數(shù)綁定還是蠻重要的,最近在使用中遇到了同名參數(shù)綁定的問題,想著總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于Spring MVC同名參數(shù)綁定問題的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
Java定時任務(wù)ScheduledThreadPoolExecutor示例詳解
這篇文章主要介紹了Java定時任務(wù)ScheduledThreadPoolExecutor示例詳解,這里使用scheduleAtFixedRate方法安排一個任務(wù),該任務(wù)是一個 Runnable 匿名類,其run方法中調(diào)用了new LoginViewTimeTask().loginStatisticsHandle()方法,需要的朋友可以參考下2023-11-11
學(xué)習(xí)Java HashMap,看這篇就夠了
這篇文章主要介紹了Java HashMap的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07

