sql 執行分析***【 目前只支援 mysql-5.6.3 以上版本 】,作用是分析 處理 delete update 語句, 防止小白或者惡意 delete update 全表操作!
這裡我引用mybatis-plus官方文件所說的。
為什麼需要執行分析外掛程式?
實際開發中,雖然我們可以根據資料庫許可權分給對應的開發人員,讓他們開發或者是同步備份乙個生產資料庫移植到本地。
但是就小公司而言,沒幾個會這麼弄的,特別是五到六人的小開發團隊。基本上,可以說,資料庫許可權分配或者是本地測試伺服器都沒有。因為如果那樣搞的話,從長遠的角度出發,是有利的,
第一、約束開發人員行為,防止因不小心或者是惡意刪庫刪表清空資料;
第二、在內網環境下,有測試伺服器好處,在於,速度快,不會因為連線遠端導致的網路延遲,同時即便刪除了部分資料或者是改動較大也不會影響生產環境下的資料和對應的web應用。
但是呢,可惜大多數小公司很少會這麼做,據我了解,我的乙個朋友公司規模相對比較大,屬於中型公司,他們公司開發團隊相對我現在的公司要大的多,但是最近他跟我吐槽說,他們的開發,有的時候為了一些無關緊要的功能進入資料庫任意修改字段,要知道,這乃開發大忌,改欄位,特別是實體和表字段關聯緊密的,一般情況下,改欄位多少都會影響實體從而影響業務邏輯,然後bug就出現了。
但是還有就是針對開發人員不小心測試導致的資料清空或者是資料異常改動,使用mybatis-plus作為持久層的小夥伴們可以採取如下策略(宣告下,針對mybatis-plus2以上版本,3以下版本):
spring+springmvc+mybatis-plus(ssm框架開發的),可以如下配置:
在mybatis-config.xml配置如下內容即可:
注意事項:
引數:stopproceed 發現執行全表 delete update 語句是否停止執行
注意!該外掛程式只用於開發環境,不建議生產環境使用
MP實戰系列 十九 之批量新增
批量操作在實際開發中也應用非常多,例如批量下發優惠券 批量新增使用者等。以mybatis為例,通常實現批量操作,有這麼幾種方式?第一,單條插入sql語句,進行for迴圈遍歷,基準條件是根據前端傳過的陣列長度而定,如果傳了四個引數過來,也就是長度為4,代表遍歷4次 也就是執行四次插入 這種方式不太建議...
MP實戰系列 十六 之效能分析外掛程式
效能分析 用於輸出每條 sql 語句及其執行時間。雖然使用阿里的druid連線池可以完成這個目的,但是,我們一般認為,目前的元件能夠達到這個目的,盡量使用目前的元件,因為修改配置和引入第三方庫是需要消耗效能的。很久使用我們沒有這種便利的開發工具來測試效能,比如以mysql為例,我們就使用explai...
MP實戰系列 十二 之封裝方法詳解 續二
繼續mp實戰系列 十一 之封裝方法詳解 續一 這篇文章之後。此次要講的是關於查詢。查詢是用的比較多的,查詢很重要,好的查詢,加上索引如魚得水,不好的查詢加再多索引也是無濟於事。1.selectbyid 方法 演示示例 userentity user ud.selectbyid 33 system.o...