動態(tài)sql與mybatis標(biāo)簽

?大家好我是IT修真院一枚純潔的程序員,今天給大家分享一下動態(tài)SQL

1.背景介紹

? ?

2.知識剖析

? ?

3.常見問題

? ?

4.解決方案

? ?

5.編碼實戰(zhàn)

? ?

6.擴展思考

? ?

7.參考文獻

? ?

8.更多討論

? ?

1.背景介紹

? ?

先介紹下背景

? ?

MyBatis是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。與實體類對應(yīng)的XML配置文件是mybatis的核心,其中包含了很多常用的標(biāo)簽


? ?

2.知識剖析

? ?

動態(tài)SQL:按照不同的條件對SQL語句進行拼接,從而實現(xiàn)SQL語句的變化。與靜態(tài)SQL相比,動態(tài)SQL的優(yōu)勢是可以根據(jù)實際輸入的參數(shù)自動調(diào)整SQL語句,從而減少程序猿的工作量。舉個例子:學(xué)生信息有【學(xué)號】,【姓名】,【性別】,【班級】等信息,當(dāng)我們需要更新一個學(xué)生的班級信息時,如果使用靜態(tài)SQL語句,我們需要提供這個學(xué)生的所有信息,才能夠修改他的【班級】信息,如果使用動態(tài)SQL語句,我們只需要提供他的主鍵【學(xué)號】和新的【班級】信息,就可以了。

? ?

2.知識剖析

? ?

常用標(biāo)簽:if、where、set;foreach;bind

? ?

當(dāng)有很多條if語句時,如果只有幾條成立,那么拼裝而成的sql語句將會出現(xiàn)語法問題,比如“,”逗號會多出來,sql中的where會出現(xiàn)在sql語句的末尾。where標(biāo)簽會自動添加一個WHERE,如果if語句中有AND,還會將AND刪掉。

? ?

3.常見問題

? ?

1.字符串的拼接

? ?

2.構(gòu)造查詢條件QueryVo

? ?

4.解決方案

? ?

5.編碼實戰(zhàn)

? ?



6.擴展

? ?

7.參考文獻

? ? ? ? http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html? https://www.cnblogs.com/dongying/p/4092662.html官方文檔


? ?

8.更多討論

1.mapper 和 DAO 的區(qū)別
一個是自定義的接口,一個是代理的接口。
2.模糊查詢的幾種方式
直接使用 % 拼接字符串,如?'%'#{name}'%'?或?"%"#{name}"%",單引號或雙引號都可以。
使用concat(str1,str2)函數(shù)拼接
使用mybatis的bind標(biāo)簽

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,280評論 0 4
  • 1 引言# 本文主要講解JDBC怎么演變到Mybatis的漸變過程,重點講解了為什么要將JDBC封裝成Mybait...
    七寸知架構(gòu)閱讀 77,598評論 36 979
  • 有時候真的想找個女孩子,好好愛下去,好好談一場戀愛。卻從來沒有做出過行動。因為,沒有被愛灌滿的感覺,時刻都為自己保...
    飛奔的切菜刀閱讀 375評論 0 0
  • “一念起,天涯咫尺; 一念滅,咫尺天涯。 時間很短,天涯很遠, 一山一水,一朝一夕, 自己安靜地走完。 倘若不慎走...
    寒江雪810閱讀 881評論 0 0
  • 有句經(jīng)典的話叫:愛一個人,陪伴,是最長情的告白。但我想說,有品質(zhì)的陪伴,才是真正的愛,才是真正有價值的。這就像有效...
    營養(yǎng)私教西西閱讀 326評論 0 0

友情鏈接更多精彩內(nèi)容