SpringBoot整合Mybatis之各種查詢、模糊查詢、批量刪除、動(dòng)態(tài)表名操作
一、普通查詢
1. 若查詢出的數(shù)據(jù)只有一條
a>可以通過實(shí)體類對(duì)象接收
<!-- Dish getDishByName(@Param("name") String name);--> <select id="getDishByName" resultType="com.athorse.entities.Dish"> select * from dish where name = #{name} </select>
b>可以通過list集合接收
<!-- List<Dish> getDishByName(@Param("name") String name);--> <select id="getDishByName" resultType="com.athorse.entities.Dish"> select * from dish where name = #{name} </select>
c>可以通過map集合接收
<!-- Map<String,Object> getDishByName(@Param("name") String name);--> <select id="getDishByName" resultType="map"> select * from dish where name = #{name} </select>
2. 若查詢出的數(shù)據(jù)有多條
a> 可以通過list集合接收
<!-- List<Dish> getDishByName(@Param("name") String name);--> <select id="getDishByName" resultType="com.athorse.entities.Dish"> select * from dish where name = #{name} </select>
b>可以通過map類型的list集合接收
<!-- List<Map<String,Object>> getDishByName(@Param("name") String name);--> <select id="getDishByName" resultType="map"> select * from dish where name = #{name} </select>
c>可以在mapper接口的方法上添加@MapKey注解,此時(shí)就可以將每條數(shù)據(jù)轉(zhuǎn)換的map集合作為值,以某個(gè)字段的值作為鍵。
二、模糊查詢 like "%"#{name}"%"
<!-- List<Dish> getDishByName(@Param("name") String name);--> <select id="getDishByName" resultType="com.athorse.entities.Dish"> select * from dish where name like "%"#{name}"%" </select>
三、批量刪除 in (${ids})
<!--Integer deleteMore(@Param("ids") String ids);--> <delete id="deleteMore"> delete from dish where id in (${ids}) </delete>
四、動(dòng)態(tài)設(shè)置表名 ${tableName}
<!-- List<Dish> getDishs(@Param("tableName") String tableName);--> <select id="getDishs" resultType="com.athorse.entities.Dish"> select * from ${tableName} </select>
總結(jié):#{}會(huì)自動(dòng)的拼接上'',而${}不會(huì),所以特殊場景下需要使用${}
到此這篇關(guān)于SpringBoot整合Mybatis之各種查詢、模糊查詢、批量刪除、動(dòng)態(tài)表名的文章就介紹到這了,更多相關(guān)SpringBoot整合Mybatis查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot實(shí)現(xiàn)ENC加密的詳細(xì)流程
在項(xiàng)目開發(fā)過程中,需要配置數(shù)據(jù)庫連接密碼、Redis密碼、網(wǎng)盤上傳的AK/SK等敏感信息,都需要保存在配置文件里,或者配置中心,這些信息如果泄露,還是會(huì)造成一定的困擾,下面這篇文章主要給大家介紹了關(guān)于Springboot實(shí)現(xiàn)ENC加密的詳細(xì)流程,需要的朋友可以參考下2023-06-06使用java + selenium + OpenCV破解騰訊防水墻滑動(dòng)驗(yàn)證碼功能
這篇文章主要介紹了使用java + selenium + OpenCV破解騰訊防水墻滑動(dòng)驗(yàn)證碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Spark Streaming編程初級(jí)實(shí)踐詳解
這篇文章主要為大家介紹了Spark Streaming編程初級(jí)實(shí)踐詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Java數(shù)據(jù)類型Integer與int的區(qū)別詳細(xì)解析
這篇文章主要介紹了Java數(shù)據(jù)類型Integer與int的區(qū)別詳細(xì)解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無論new否)比,都為true,因?yàn)闀?huì)把Integer自動(dòng)拆箱為int再去比,需要的朋友可以參考下2023-12-12Java實(shí)現(xiàn)根據(jù)模板讀取PDF并替換指定內(nèi)容
在實(shí)際開發(fā)里,經(jīng)常會(huì)遇到需要根據(jù)?PDF?模板文檔生成特定?PDF?的需求,本文將利用Java中的iText實(shí)現(xiàn)讀取?PDF?模板文檔并替換指定內(nèi)容,最后重新生成新PDF,感興趣的可以了解下2025-02-02Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端
這篇文章主要介紹了Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07