1.case when? then else
用法:
比如:添加字段信息
select? *,case when CODE IS NOT NULL AND CODE <> '' THEN? '參與' ELSE '未參與' END btn from 'user'

2.關(guān)于使用sql語句Group by 語句出錯ONLY_FULL_GROUP_BY
原因就是由于groupby語句的分組字段,并沒有在前面select中書寫.
解決方法:將要查詢的字段放入ANY_VALUE函數(shù)中,注意是一個字段一個ANY_VALUE,然后再起個別名就可以了.
3.mybits中查詢返回<<BLOB>>
原因:BLOB是二進制的一個東西出現(xiàn)這個問題可能是值太大.
我的當(dāng)時是resultMap映射出問題了,修改好對應(yīng)之后就好了
4.SQL中foreach的使用
foreach元素的屬性主要有 item,index,collection,open,separator,close。
item表示集合中每一個元素進行迭代時的別名,
index指 定一個名字,用于表示在迭代過程中,每次迭代到的位置,
open表示該語句以什么開始,
separator表示在每次進行迭代之間以什么符號作為分隔 符,
close表示以什么結(jié)束。
在使用foreach的時候最關(guān)鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況:
1. 如果傳入的是單參數(shù)且參數(shù)類型是一個List的時候,collection屬性值為list
2. 如果傳入的是單參數(shù)且參數(shù)類型是一個array數(shù)組的時候,collection的屬性值為array
3. 如果傳入的參數(shù)是多個的時候,我們就需要把它們封裝成一個Map了,當(dāng)然單參數(shù)也可
原文地址:https://www.cnblogs.com/xiemingjun/p/9800999.html
<select id="queryList04" resultType="map" parameterType="java.util.List">
? ? ? ? ? select 字段
? ? ? ? ? where 表? in
? ? ? ? ? <foreach collection="list" index="index" item="item" open="(" separator="," close=")">?
? ? ? ? ? ? #{item}?
? ? ? ? </foreach>
? </select>
5.MYSQL的一些函數(shù)
1),LEFT(CODETS,6):CODETS字段從左開始截取前六位
2),concat('0','123'):拼接字符串,多個參數(shù)用逗號隔開