mybatisplus之使用@Select解讀
mybatisplus使用@Select
在自己的mapper文件里面 比如我這個(gè)是ckDao.java文件,寫個(gè)方法,然后就可以用 @Autowired 注冊這個(gè)mapper,就會(huì)去執(zhí)行sql語句
? ? @Select("SELECT DISTINCT ?name FROM `ck` where company = '順網(wǎng)' and deleted = 1")
? ? List<CkEntity> listCompany();
? ? @Select("SELECT count(*) FROM `ck` where company = '順網(wǎng)' and deleted = 1" + " and name like '%${name}%'")
? ? String countCompanyData(@Param("name") String name);實(shí)現(xiàn)方法
? ? @Override
? ? public XXX listCompanyData() {
? ? ? ? List<CkEntity> ckEntities = ckDao.listCompany();
? ? ? ? return XXX;
? ? }mybatisplus @Select注解參數(shù)判空及SQL拼接
場景
在@Select注解使用中,自定義sql時(shí),會(huì)存在一個(gè)或多個(gè)查詢條件的情況,這樣在注解形式sql里,插入?yún)?shù)需要進(jìn)行判空
實(shí)例
@Select({"<script>"+
"SELECT DISTINCT "+
"a.monitor_id monitorId," +
"a.monitor_name monitorName," +
"a.target," +
"a.priority,"+
"a.gmt_create gmtCreate " +
"FROM "+
"alert a,"+
"( SELECT monitor_id, max( gmt_create ) gmt_update FROM alert GROUP BY monitor-id ) b " +
"WHERE " +
"a.monitor_id = b.monitor_id "+
"AND a.gmt_create = b.gmt_update " +
"AND DATEDIFF(gmt_create,NOW())=0 "+
"<when test='times!=null'>" +
"AND times = #{times}"+
"</when>"+
"<when test='monitorName!=null'" +
"AND monitor_name like concat('%',#(monitorName},'%')"?
"</when>"+
"<when test='priority!=null'" +
"AND priority = #{priority}"+
"</when>"+
"</script>"})
List<IndicateDetail> getIndicatorList(@Param("monitorName")String monitor_name,@Param("times")String times,@Param("priority")String priority);用script標(biāo)簽包圍,然后像xml語法寫
條件匹配 =用 #{}包裝傳進(jìn)來的參數(shù),如果是模糊查詢,需要使用函數(shù)concat拼接%字符串
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring?IOC容器的Bean管理XML自動(dòng)裝配過程
這篇文章主要為大家介紹了spring?IOC容器Bean管理基于XML的自動(dòng)裝配過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之KMP算法
在很多地方也都經(jīng)常看到講解KMP算法的文章,看久了好像也知道是怎么一回事,但總感覺有些地方自己還是沒有完全懂明白。這兩天花了點(diǎn)時(shí)間總結(jié)一下,有點(diǎn)小體會(huì),我希望可以通過我自己的語言來把這個(gè)算法的一些細(xì)節(jié)梳理清楚,也算是考驗(yàn)一下自己有真正理解這個(gè)算法2022-02-02
源碼分析Spring?中?@Qualifier?注解基本用法
這篇文章主要介紹了源碼分析Spring?中?@Qualifier?注解基本用法,在源碼分析的過程中,也?GET?到?Spring?許多新的玩法,感興趣的小伙伴趕緊去試試吧2023-08-08
當(dāng)Transactional遇上synchronized的解決方法分享
前些時(shí)間剛好刷到了有關(guān)于“# 【事務(wù)與鎖】當(dāng)Transactional遇上synchronized”這一類的文章,感覺這也是工作中經(jīng)常會(huì)遇到的一類問題了。所以就針對這個(gè)話題進(jìn)行了分析并整理了常用的解決方法,希望對大家有所幫助2023-05-05

