2018-01-111 、 如何在項目中快速查找對應的mapper.xml文件 從Controller入手,使用(Ctrl+滑鼠左鍵)找到Service調用的方法,再找到底層方法,就能找到對應mapper.或者。還有一個比較偷懶的方法,如果@RequestMapping/@GetMapping/@P ...
2018-01-111 、 如何在項目中快速查找對應的mapper.xml文件
從Controller入手,使用(Ctrl+滑鼠左鍵)找到Service調用的方法,再找到底層方法,就能找到對應mapper.或者。還有一個比較偷懶的方法,如果@RequestMapping/@GetMapping/@PostMapping等註解的方法名與bean的id一樣,可以使用IDEA中Ctrl+h進行項目內搜索,這個方法不建議,被前輩批評過。- 2、.xml文件中特殊字元>、<、>=、<=、"、‘會報錯。
- 貼一個技術文檔: 建議經常查閱 http://www.w3school.com.cn
解決:
(1)、使用轉移字元:
< 可以使用 & lt ; 進行替換
例如:
<age> age < 30 </age>
上面這種寫法會報錯,應該這樣寫:
<age> age & lt ; 30 </age>
(2)、使用CDATA區:以"<![CDATA[ "開始,以" ]]>" 結束,在兩者之間嵌入不想被解析程式解析的原始數據,解析器不對CDATA區中的內容進行解析。
例如:
rownum <=1 可以使用 rownum<![CDATA[<=1 ]]> (1可以放在外面) 進行替換
細緻詳解鏈接:
https://www.cnblogs.com/o-andy-o/p/3586159.html
http://blog.csdn.net/jihuanliang/article/details/7980844
http://blog.csdn.net/qq_28587263/article/details/54138998
3、在項目中我們會遇見根據時間去查找記錄,有時候一年中只有個別幾個月有數據的情況,而我們又希望看到連續的年、月、日可以使用以下方法。
將自己查詢的select SQL與以下查詢合併(使用union all的速度要比union快):
Oracle中常用的函數:
TO_CHAR 是把日期或數字轉換為字元串;
TO_DATE 是把字元串轉換為資料庫中得日期類型轉換函數;
TO_NUMBER 將字元轉化為數字;
(1)、年份
select '2016'+rownum-1 as A(用個別名)
from dual
connect by rownum <= (2018 - 2016)+1 ;
一般日期是從前臺傳過來可以使用:
select #{begintime} + rownum-1 as A(用個別名)
from dual
connect by rownum <= ( #{endtime} - #{begintime})+1 ;
其中:SELECT ROWNUM FROM DUAL CONNECT BY ROWNUM <= N 可以生成1到N的整數序列,N是想要生成的序列的個數,可以是整數,也可以是查詢得出的整 數,例如:
SELECT ROWNUM FROM DUAL CONNECT BY ROWNUM <= 7(rownum:1,2,3,4,5,6,7) 參考:rownnum 範圍參考 http://blog.sina.com.cn/s/blog_a26966d90102wwkb.html (2)、月份SELECT TO_CHAR(ADD_MONTHS(TO_DATE('201710', 'yyyyMM'), ROWNUM - 1), 'yyyyMM') as A
FROM DUAL
CONNECT BY ROWNUM <= months_between(to_date('201806', 'yyyyMM'), to_date('201710', 'yyyyMM')) + 1;
(3)、日
顯示8位:
SELECT TO_CHAR(TO_DATE('20141001', 'yyyyMMdd') + ROWNUM - 1, 'yyyyMMdd') as A
FROM DUAL
CONNECT BY ROWNUM <= runc(to_date('20150601', 'yyyyMMdd') - to_date('20141001', 'yyyyMMdd')) + 1;
(只截取日)顯示2位:
(表1包含tjr欄位,該欄位只有兩位的日期)
select tjr from 表1 union all
SELECT tjr from (select TO_CHAR( TRUNC( to_date('20160701', 'yyyyMMdd' ), 'MM' ) + ROWNUM - 1, 'yyyyMMdd' ) AS tjr
FROM DUAL CONNECT BY
ROWNUM <=TO_NUMBER(TO_CHAR( LAST_DAY( TO_DATE('201607', 'yyyyMM' )), 'dd' )))
(4)、小時
SELECT to_date('2013-07-01 12', 'yyyy-mm-dd hh24') + (ROWNUM - 1) / 24 sdate
FROM dual
CONNECT BY ROWNUM <= (to_date('2013-07-02 22', 'yyyy-mm-dd hh24') - to_date('2013-07-01 12', 'yyyy-mm-dd hh24')) * 24 + 1
參考:
https://www.2cto.com/database/201506/404733.html
http://blog.csdn.net/itx2000/article/details/56846121
http://blog.csdn.net/ld422586546/article/details/9626921/