mybatisplus之使用@Select解讀
更新時間:2023年07月01日 15:51:56 作者:強風吹拂str
這篇文章主要介紹了mybatisplus之使用@Select解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
mybatisplus使用@Select
在自己的mapper文件里面 比如我這個是ckDao.java文件,寫個方法,然后就可以用 @Autowired 注冊這個mapper,就會去執(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);實現(xiàn)方法
? ? @Override
? ? public XXX listCompanyData() {
? ? ? ? List<CkEntity> ckEntities = ckDao.listCompany();
? ? ? ? return XXX;
? ? }mybatisplus @Select注解參數(shù)判空及SQL拼接
場景
在@Select注解使用中,自定義sql時,會存在一個或多個查詢條件的情況,這樣在注解形式sql里,插入?yú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標簽包圍,然后像xml語法寫
條件匹配 =用 #{}包裝傳進來的參數(shù),如果是模糊查詢,需要使用函數(shù)concat拼接%字符串
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java 數(shù)據(jù)結構與算法系列精講之KMP算法
在很多地方也都經(jīng)??吹街v解KMP算法的文章,看久了好像也知道是怎么一回事,但總感覺有些地方自己還是沒有完全懂明白。這兩天花了點時間總結一下,有點小體會,我希望可以通過我自己的語言來把這個算法的一些細節(jié)梳理清楚,也算是考驗一下自己有真正理解這個算法2022-02-02
源碼分析Spring?中?@Qualifier?注解基本用法
這篇文章主要介紹了源碼分析Spring?中?@Qualifier?注解基本用法,在源碼分析的過程中,也?GET?到?Spring?許多新的玩法,感興趣的小伙伴趕緊去試試吧2023-08-08
當Transactional遇上synchronized的解決方法分享
前些時間剛好刷到了有關于“# 【事務與鎖】當Transactional遇上synchronized”這一類的文章,感覺這也是工作中經(jīng)常會遇到的一類問題了。所以就針對這個話題進行了分析并整理了常用的解決方法,希望對大家有所幫助2023-05-05

