mybatisplus之使用@Select解讀
mybatisplus使用@Select
在自己的mapper文件里面 比如我這個(gè)是ckDao.java文件,寫個(gè)方法,然后就可以用 @Autowired 注冊(cè)這個(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拼接
場(chǎng)景
在@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)文章
java如何發(fā)送get請(qǐng)求獲取數(shù)據(jù)(附代碼)
這篇文章主要給大家介紹了關(guān)于java如何發(fā)送get請(qǐng)求獲取數(shù)據(jù)的相關(guān)資料,Java中的GET請(qǐng)求方法是HTTP協(xié)議中的一種請(qǐng)求方式,用于向服務(wù)器請(qǐng)求獲取資源,需要的朋友可以參考下2023-10-10
AndroidStudio無法新建Java工程的簡(jiǎn)單解決辦法
AS創(chuàng)建java工程是非常麻煩的,AS沒有提供直接創(chuàng)建java工程的方法且常常無法新建,這篇文章主要給大家介紹了關(guān)于AndroidStudio無法新建Java工程的簡(jiǎn)單解決辦法,需要的朋友可以參考下2024-06-06
使用SpringBoot配置多數(shù)據(jù)源的經(jīng)驗(yàn)分享
這篇文章主要介紹了使用SpringBoot配置多數(shù)據(jù)源的經(jīng)驗(yàn)分享,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
Java對(duì)象不使用時(shí)賦值null的意義詳解
這篇文章主要介紹了java對(duì)象不再使用時(shí)賦值null的意義,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
關(guān)于spring-security(記住密碼,CSRF)
文章主要介紹了Spring Security中的PersistentTokenRepository、CSRF保護(hù)機(jī)制以及如何在登錄頁面添加記住我功能,并分享了相關(guān)實(shí)現(xiàn)代碼和配置2024-11-11
高分面試分析jvm如何實(shí)現(xiàn)多態(tài)
這篇文章主要介紹了講解了在面試中jvm如何實(shí)現(xiàn)多態(tài),怎樣回答才能得到高分的問題分析,有需要的朋友可以借鑒參考下,祝大家早日升職加薪多多進(jìn)步2022-01-01
詳解Mybatis核心類SqlSessionFactory的構(gòu)建
這篇文章主要為大家詳細(xì)介紹了Mybatis核心類SqlSessionFactory的構(gòu)建過程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12
Java中DTO與Entity拷貝轉(zhuǎn)換的方法小結(jié)
在?Java?開發(fā)中,DTO(Data?Transfer?Object)和?Entity(實(shí)體類)是常見的兩種數(shù)據(jù)模型,本文將介紹幾種常見的工具類和自定義方式來實(shí)現(xiàn)這種轉(zhuǎn)換,感興趣的可以了解下2025-02-02
EditPlus運(yùn)行java時(shí)從鍵盤輸入數(shù)據(jù)的操作方法
這篇文章主要介紹了EditPlus運(yùn)行java時(shí)從鍵盤輸入數(shù)據(jù)的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
深入探討Java?SPI機(jī)制及其應(yīng)用場(chǎng)景
本文深入介紹了Java?SPI機(jī)制的原理和實(shí)現(xiàn)方式,以及在Java中如何使用SPI實(shí)現(xiàn)可插拔的組件化架構(gòu),包括示例代碼和應(yīng)用場(chǎng)景分析,幫助讀者更好地理解和應(yīng)用該機(jī)制2023-04-04

