聊聊mybatis sql的括號(hào)問題
mybatis sql的括號(hào)問題
因?yàn)橐欢蝧ql 要關(guān)聯(lián) A,B,C三個(gè)表,查三個(gè)表里的數(shù)據(jù)
一開始寫的是
select * from a,b,c ? ??
結(jié)果出來很多重復(fù)數(shù)據(jù)
而三個(gè)表是用id關(guān)聯(lián)的
所以改成
select * from a ?where id in (select id from a,b,c 關(guān)聯(lián)條件)
然后在mybatis里在寫級(jí)聯(lián)查詢
把B,C表里的數(shù)據(jù)以數(shù)組的形式查出來
ok了 避免了數(shù)據(jù)重復(fù)一大堆
但是人說,級(jí)聯(lián)查詢,缺點(diǎn): 查詢速度慢
如果用exists 查的比較快
mybatis多層括號(hào)(超過三層)解析不了
加<![CDATA[ ]]>即可,要么用存視圖,應(yīng)用在局部也可
<select id="selectfirm" resultType="com.esteel.web.entity.CusFirmBean" parameterType="com.esteel.web.beanvo.CusFirmBeanVo"> <![CDATA[? select a.*,a.customer_name as customerName from tb_cus_firm a where a.market_key = ? #{marketKey} order by customer_key ]]> </select>
<select id="getEmailCount" parameterType="map" resultMap="account1Map"> ?SELECT * FROM TB_CUS_USER WHERE 1=1 ? <if test="EMAIL!=null and EMAIL!=''"> ? and EMAIL=#{EMAIL}? ? </if> ? <if test="CUS_TRADE_KIND!=null and CUS_TRADE_KIND!=''"> ? and CUS_TRADE_KIND =#{CUS_TRADE_KIND} ? </if> ? <if test="CUS_USER_KEY!=null and CUS_USER_KEY!=''"> ? ?and cus_user_key <![CDATA[<>]]> #{CUS_USER_KEY} ? </if>? </select>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot 快速整合Mybatis(去XML化+注解進(jìn)階)
本篇文章主要介紹了詳解SpringBoot 快速整合Mybatis(去XML化+注解進(jìn)階),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11利用Java對(duì)PDF文件進(jìn)行電子簽章的實(shí)戰(zhàn)過程
隨著電子賬單、回單、通知、合同的流行,電子文檔的可信度變得非常重要,為防止非法篡改,確保文檔的權(quán)威性,我們可以對(duì)PDF進(jìn)行電子簽章,這篇文章主要給大家介紹了關(guān)于如何利用Java對(duì)PDF文件進(jìn)行電子簽章的相關(guān)資料,需要的朋友可以參考下2021-07-07SpringBoot啟動(dòng)過程的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot啟動(dòng)過程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09利用MultipartFile實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了利用MultipartFile實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11淺談@RequestParam(required = true)的誤區(qū)
這篇文章主要介紹了@RequestParam(required = true)的誤區(qū),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11輕松掌握J(rèn)ava注解,讓編程更智能、更優(yōu)雅
輕松掌握J(rèn)ava注解?沒問題!想要讓你的Java代碼更具可讀性、維護(hù)性,同時(shí)提升開發(fā)效率?本指南將帶你快速入門Java注解的世界,只需短短幾分鐘,你就能揭秘這個(gè)強(qiáng)大的編程工具,讓編寫有聲明性邏輯的代碼變得輕而易舉,趕快一起來探索吧!2024-01-01springboot2.0如何通過fastdfs實(shí)現(xiàn)文件分布式上傳
這篇文章主要介紹了springboot2.0如何通過fastdfs實(shí)現(xiàn)文件分布式上傳,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12