Ibatis使用 isNotNull之傷

2022-01-31 15:26:40 字數 649 閱讀 5168

出現這個問題,第一直覺資料是走訂正造成的,因為sqlmap中使用的是非空非null的值才會更新。媽蛋為後來的排查直接繞過了真正的原因。

分析過訂正及線上db執行過的sql後發現,發起端全是由應用程式。呃,這時候開始有點緊張了,是不是**結構存在問題.....

開始進行了排查之路,看了一下所有呼叫update的操作,一其存在十幾處,量上還可以。乙個方法乙個方法的進行排查,最後發現有乙個介面問題最有嫌疑,直接拿前置給的物件直接updatedb資料....

然後,言歸正轉,再來看一下ibatis判斷的函式意義.(我們使用的有isnotnull和isnotempty)

但是出事的那個字段使用的是isnotnull。這就是問題原因,下面羅列和區分一下他們之前的區另,對應的函式還有好多,這裡不一一介紹。

在ibatis中isnull用於判斷引數是否為null,isnotnull相反

在ibatis中isempty判斷引數是否為null或者空,滿足其中乙個條件則其true

在ibatis中isnotempty相反,當引數既不為null也不為空是其為true

isnull, isnotnull與isempty, isnotempty區別

Ibatis使用事務

一 事務概念 事務是一種機制 是一種操作序列,它包含了一組資料庫操作命令,這組命令要麼全部執行,要麼全部不執行。因此事務是乙個不可分割的工作邏輯單元。在資料庫系統上執行併發操作時事務是作為最小的控制單元來使用的。這特別適用於多使用者同時操作的資料通訊系統。例如 訂票 銀行 保險公司以及 交易系統等。...

iBATIS使用的點滴

1 在result標籤裡使用select 迭代查詢 select count from user where id id and code code 當迭代查詢只有乙個引數時,可以寫成這樣 2 cdata 說明 在cdata內部的所有內容都會被解析器忽略。如果文字包含了很多的 字元和 字元 就象程式...

使用IBatis開發心得

最近這段時間一直在用ibatis來進行開發。現在把這段時間的一些開發心得寫出來,跟大家一起分享。首先,ibatis可以說轉變了我以前的一些思想。我們以前開發專案的時候,總是先建立好資料庫,分析清楚表與表之間的關係,才開始根據這些表進行實際的開發。實際上並沒有完全把物件導向的優勢展現出來。現在的使用i...