mybatis實現變數定義,實現sql業務程式碼

you來有去發表於2019-08-05

SQL語句定義變數,如下:

SET @c = '2333';-- 定義變數並賦值

SELECT @c;-- 查詢定義的變數的值

執行結果

2333

那麼如何在mybatis的框架實現變數的定義的呢?如果能實現變數的定義,那就可以在mybatis上寫一定量的業務程式碼,也是不錯的!

一、變數的定義及使用

<update id="updatePrice">
    /*1.變數定義*/
    select @isEnd:=0,@isFinish:=1;
    /*2.使用變數*/
    update Sc_Stock a set a.cost_price = 10 where @isFinish= 1 and @isEnd = 0;
</update>

二、變數的賦值

<update id="updatePrice">
    /*1.變數定義*/
    select @newPrice:=0;
    /*2.變數賦值*/
    update Sc_Stock a set a.price = @newPrice := 11 where a.id = 2222;
    /*3.變數使用*/
    update Sc_Stock a set a.num = 2 where @newPrice = 11;
</update>

三、變數使用小技巧

<update id="updatePrice">
    /*1.變數定義*/
    select @isFinish:=0;
    /*2.變數使用*/
    update Sc_Stock set num = 2 where newPrice = 11 and if(@isFinish = 0, 0, @isFinish := a.is_finish);
</update>

解釋一下:上方更新語句最後會變成

update Sc_Stock  set num = 2 where newPrice = 11 and 0;

或是

update Sc_Stock  set num = 2 where newPrice = 11 and 1;

覺得本文章對您有幫助,那麼可以選擇打賞。
打賞多少,您高興就行,謝謝您對我的支援! ~(@^_^@)~

             微信掃一掃

相關文章