亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis-Plus中SQL語句組拼原理的的示例分析

發布時間:2021-06-10 10:51:45 來源:億速云 閱讀:207 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Mybatis-Plus中SQL語句組拼原理的的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Mybatis-Plus中SQL語句組拼原理的的示例分析”這篇文章吧。

記錄查找自動組拼SQL語句的過程

首先在BaseMapper其中的一個方法下打個斷點

Mybatis-Plus中SQL語句組拼原理的的示例分析

在斷點顯示的值欄找到相關的SQL

發現SQL語句在MappedStatement對象中,而sqlSource存的就是相關的sql語句

Mybatis-Plus中SQL語句組拼原理的的示例分析

Mybatis-Plus中SQL語句組拼原理的的示例分析

然后在MappedStatement這個對象打斷點,看看到底是哪個對象對它進行了操作

Mybatis-Plus中SQL語句組拼原理的的示例分析

發現是AutoSqlInjector創建了MappedStatement

Mybatis-Plus中SQL語句組拼原理的的示例分析

在AutoSqlInjector對象找到與selectById相關的一個方法,打斷點

Mybatis-Plus中SQL語句組拼原理的的示例分析

SqlSource果然在這里創建出來了,createSqlSource就是具體過程,然后添加到MappedStatement對象中,此SQL完成組拼

在createSqlSource方法打下斷點,進入具體的組拼過程

Mybatis-Plus中SQL語句組拼原理的的示例分析

方法sqlSelectColumns就是具體的組拼方法,一直在此方法進行遞歸

Mybatis-Plus中SQL語句組拼原理的的示例分析

在此方法中,迭代器在不斷迭代組拼

Mybatis-Plus中SQL語句組拼原理的的示例分析

最后SQL全部完成組拼,存在集合對象中,就可以取出來了

學會從逆推到順推,學會怎樣打斷點是關鍵。

mybatisPlus注解版動態拼接sql

前段時間不是在實習嘛,公司用的是注解開發不用xml的,特此記錄注解版動態拼接sql,還有使用過程中踩坑集合。

先記錄1.0版本,以后遇到別的在完善就是。

其實就是在xml那種格式下面最外面一層用< /script > 標簽包住就行了,其余部分用英文雙引號包住,表達式用單引號包住就ok了,@Param(“idMin”) Integer idMin與#{idMin}對應。

不過我這里如果idMin為null那么between null and 20是查不出數值的,< /script > 標簽是重點,這種sql業務邏輯讀者以后自己改。

/**
 * @author zzh
 * @since 2021-01-26
 */
public interface GoodsMapper extends BaseMapper<Goods> {
    @Select("<script>"
            + "select * from goods where id between"
            + "<if test='#{idMin}!=null'>" + "#{idMin} and "+"</if>"
            + "<if test='#{idMax}!=null'>" + "#{idMax}" + "</if>"
            + "</script>")
    public List<Goods> select(@Param("idMin") Integer idMin, @Param("idMax") Integer idMax);
}

以上是“Mybatis-Plus中SQL語句組拼原理的的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

房产| 泸州市| 苏州市| 嘉义市| 平凉市| 惠州市| 泰顺县| 拉萨市| 长垣县| 岑巩县| 丰镇市| 秭归县| 三亚市| 临漳县| 鄂托克前旗| 蕲春县| 丰顺县| 北海市| 宽城| 莱芜市| 孟州市| 贵港市| 宜城市| 泗水县| 广德县| 农安县| 乌鲁木齐县| 通州区| 关岭| 长岛县| 时尚| 南江县| 赣州市| 庆阳市| 绥化市| 沙田区| 玉屏| 句容市| 大方县| 岳普湖县| 遂昌县|