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);
實(shí)現(xiàn)方法
? ? @Override ? ? public XXX listCompanyData() { ? ? ? ? List<CkEntity> ckEntities = ckDao.listCompany(); ? ? ? ? return XXX; ? ? }
mybatisplus @Select注解參數(shù)判空及SQL拼接
場景
在@Select注解使用中,自定義sql時,會存在一個或多個查詢條件的情況,這樣在注解形式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é)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java如何發(fā)送get請求獲取數(shù)據(jù)(附代碼)
這篇文章主要給大家介紹了關(guān)于java如何發(fā)送get請求獲取數(shù)據(jù)的相關(guān)資料,Java中的GET請求方法是HTTP協(xié)議中的一種請求方式,用于向服務(wù)器請求獲取資源,需要的朋友可以參考下2023-10-10AndroidStudio無法新建Java工程的簡單解決辦法
AS創(chuàng)建java工程是非常麻煩的,AS沒有提供直接創(chuàng)建java工程的方法且常常無法新建,這篇文章主要給大家介紹了關(guān)于AndroidStudio無法新建Java工程的簡單解決辦法,需要的朋友可以參考下2024-06-06使用SpringBoot配置多數(shù)據(jù)源的經(jīng)驗(yàn)分享
這篇文章主要介紹了使用SpringBoot配置多數(shù)據(jù)源的經(jīng)驗(yàn)分享,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04關(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-12Java中DTO與Entity拷貝轉(zhuǎn)換的方法小結(jié)
在?Java?開發(fā)中,DTO(Data?Transfer?Object)和?Entity(實(shí)體類)是常見的兩種數(shù)據(jù)模型,本文將介紹幾種常見的工具類和自定義方式來實(shí)現(xiàn)這種轉(zhuǎn)換,感興趣的可以了解下2025-02-02EditPlus運(yùn)行java時從鍵盤輸入數(shù)據(jù)的操作方法
這篇文章主要介紹了EditPlus運(yùn)行java時從鍵盤輸入數(shù)據(jù)的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03深入探討Java?SPI機(jī)制及其應(yīng)用場景
本文深入介紹了Java?SPI機(jī)制的原理和實(shí)現(xiàn)方式,以及在Java中如何使用SPI實(shí)現(xiàn)可插拔的組件化架構(gòu),包括示例代碼和應(yīng)用場景分析,幫助讀者更好地理解和應(yīng)用該機(jī)制2023-04-04