mybatis?對于生成的sql語句?自動加上單引號的情況詳解
對于生成的sql語句 自動加上單引號的情況
mybatis是這樣的,如果表的字段跟系統(tǒng)字段沖突,寫sql語句的時候必須得加上單引號,這樣才會區(qū)分
mySQL中replace的用法
1.replace into
replace into table (id,name) values(‘1',‘a(chǎn)a'),(‘2',‘bb')
此語句的作用是向表table中插入兩條記錄。如果主鍵id為1或2不存在
就相當(dāng)于
insert into table (id,name) values(‘1',‘a(chǎn)a'),(‘2',‘bb')
如果存在相同的值則不會插入數(shù)據(jù)
2.replace(object,search,replace)
把object中出現(xiàn)search的全部替換為replace
select replace(‘www.baicai.net',‘w',‘Ww')—>WwWwWw.baicai.net
例:把表table中的name字段中的aa替換為bb
update table set name=replace(name,‘a(chǎn)a',‘bb')
mybatis中IFNULL(P1,P2)函數(shù)的用法
select md.valueofdouble, md.periodcode from meas_data md WHERE objectcode="YQ" AND datatime="2017-5-25 00:00:00" AND measurementcode="PI_DRFDL
select md.valueofdouble, IFNULL(md.periodcode,0) from meas_data md WHERE objectcode="YQ" AND datatime="2017-5-25 00:00:00" AND measurementcode="PI_DRFDL"
總結(jié):
1、IFNULL(P1,P2)如果P1不為空,則返回值為P1;P1為NULL,則返回為P2;P2有點類似替補球員;
2、注意,IFNULL只是針對局部字段的替換;如果整個結(jié)果查出來都是空,則不能使用IFNULL(P1,P2)
select md.valueofdouble, md.periodcode from meas_data md WHERE objectcode="YQ" AND datatime="2017-5-25 00:00:01" AND measurementcode="PI_DRFDL"
select md.valueofdouble, IFNULL(md.periodcode,0) from meas_data md WHERE objectcode="YQ" AND datatime="2017-5-25 00:00:01" AND measurementcode="PI_DRFDL"
mybatis單引號字母邏輯處理的一個坑
記錄一個mybatis的坑,test中單個字母單引號包括會處理成Object,默認(rèn)為數(shù)值,在與字符串雙等時或者調(diào)用equals時會過不去,需要加上toString()先進行轉(zhuǎn)換
原因分析
因為mybatis是用OGNL表達(dá)式來解析的,所以在OGNL的表達(dá)式中,'A’會被解析成字符,同時java又是強類型的,char 和 一個string 是不等的,所以if標(biāo)簽中的sql不會被解析。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java通過jacob實現(xiàn)office在線預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹了java通過jacob實現(xiàn)office在線預(yù)覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08Java實現(xiàn)冒泡排序算法及對其的簡單優(yōu)化示例
這篇文章主要介紹了Java實現(xiàn)冒泡排序算法及對其的簡單優(yōu)化示例,冒泡排序的最差時間復(fù)雜度為O(n^2),最優(yōu)時間復(fù)雜度為O(n),存在優(yōu)化的余地,需要的朋友可以參考下2016-05-05Spring中事務(wù)管理的四種方法(銀行轉(zhuǎn)賬為例)
這篇文章主要給大家介紹了關(guān)于Spring中事務(wù)管理的四種方法,文中是以銀行轉(zhuǎn)賬為例,通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05