1. mapper
不能用 < 會識別為尖括號
2. Oracle的number在Java中的轉(zhuǎn)換
用bigdecimal接收
3. 數(shù)據(jù)庫ResultType
返回的是基本類型,不是List,會自動進行一條或者多條的轉(zhuǎn)換;
4. oracle判斷字段內(nèi)容是否為空
is null is not null;
5. oracle字段如果是null就賦值別的值
NVL();COALESCE()
6. 用一張表更新另一張表
7. # ORACLE分組排序后獲取第一條和最后一條值
select id,wm_concat(name) as qsgt from (
select id,name from (-- 分組排序取出第一條和最后一條
select
t1.id,
t1.name,
row_number() over(PARTITION BY t1.id order by t1.name) rowss1,--第一條
row_number() over(PARTITION BY t1.id order by t1.name desc) rowss2--倒數(shù)第一條
from t_test t1
where t1.pid= '0'
)
where rowss1='1' or rowss2='1'
) GROUP BY id
http://t.zoukankan.com/likui-bookHouse-p-11534130.html
8. MySQL中 INSERT + SELECT 的使用
https://blog.csdn.net/weixin_45740811/article/details/122215503
insert into select from 用一張表的數(shù)據(jù)去導入另一張表
如果是select into 那目標表可以不存在
insert into的時候 如果select某列數(shù)據(jù)為空 那么不會更新目標表原有的數(shù)據(jù)
9. Mybatis - 無效的列類型: 1111
列名和xml里面的名稱沒有對應(yīng)上
10. SQL ambiguous
select出來重復列名,多個null也算
11. oracle沒有l(wèi)imit 用rownum
12. substr在數(shù)據(jù)庫里面截取字段
13. regexp_like 像正則一樣判斷字段
14. wm_concat
15. replace
16. <> 不等于
17. instr(str, searchStr, -1)實現(xiàn)
instr(str, searchStr, -1)實現(xiàn)lastIndexOf,第三個參數(shù)為1實現(xiàn)indexOf
18. 按字段分組查詢符合條件記錄的方法
https://blog.csdn.net/sweeper_freedoman/article/details/52753163
19. 無法轉(zhuǎn)換為內(nèi)部表示 。Error attempting to get column ‘XXX‘ from result set.
有一次,數(shù)據(jù)庫里面是11.11,但是Java寫的是integer,所以報這個錯誤
數(shù)據(jù)庫字段類型與項目實體類中定義的類型不同
20. SQL查詢是否有某條數(shù)據(jù)
不用count,用select 1 from table limit 1
21. 日志表的設(shè)計
建查詢索引;主鍵用bigint自增
http://mysql.taobao.org/monthly/2017/09/08/
22. every derived table must have its own alias
每個組裝的表都要有自己的別名 select t.* from (select) t
23. limit和offset
24. 窗口函數(shù)排序
rank是關(guān)鍵字
25. datetime 和 timestamp
timestamp帶時區(qū)信息,可以處理成當?shù)貢r區(qū)的時間
datetime是存什么返回什么,不能做轉(zhuǎn)換
26 resultMap
用來自定義映射實體類和數(shù)據(jù)庫查詢結(jié)果
27 resultType
使用基礎(chǔ)數(shù)據(jù)類型和實體類完全一致的情況下的實體類;使用Map是不知道會查詢多少字段出來的情況,不過注意只能查出單條數(shù)據(jù)