開發中的小知識點
1、IDEA使用的清除命令:
View--Tool Windows---maven project(顯示在右邊欄)--Execute maven Goal(執行maven指令)
清除指令:clean package -D maven.test.skip
也可以用下面的terminal中輸入mvn clean命令
2、IDEA類中搜索:Ctrl+F
全文搜尋:Ctrl+shift+F
鎖屏快捷鍵:WIN+L
3、生成excel表格的時候,在定義excel的檔名時報錯:java.io.IOException: 檔名、目錄名或卷標語法不正確。
原因是檔名中不能包含:,如果你想把檔案命名為2018-05-07 12:11:13就會報錯,你可以換種格式
2018-05-07 12-11-13
4、連線遠端伺服器需要網路,如果沒網,不能連線遠端伺服器,所以在遠端伺服器上搭的資料庫也不能使用。
5、在資料庫中如果存時間型別為dateTime或者timeStamp型別的,查出來的時間後面會有.0,如:2018-05-07 00:00:00.0
要想去掉.0,先要將獲取到的時間轉化為Date型別,在格式化成String型別
SimpleDateFormat sdf=new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");
String time="";
Date d=sdf.parse(time);
String d2=sdf.format(d);
BigDecimal的除法直接用divide,如果直接使用/100.0會出現誤差,也可以使用BigDecimal.valueOf();
資料庫中decimal可以限制小數點位數
double也可以
BigDecimal的舍位模式:
ROUND_CEILING: 舍位時往正無窮方向移動 1.1->2 1.5->2 1.8->2 -1.1->-1 -1.5->-1 -1.8->-1
ROUND_DOWN:向0的方向移動1.1->1 1.5->1 1.8->1 -1.1->-1 -1.5->-1 -1.8>-1
ROUND_FLOOR:與CEILING相反,往負無窮 1.1->1 1.5->1 1.8->1 -1.1->-2 -1.5->-2 -1.8->-2
ROUND_HALF_DOWN:以5為分界線,或曰五舍六入1.5->1 1.6->1 -1.5->-1 -1.6->-2 1.15->1.1 1.16->1.2
ROUND_HALF_EVEN:同樣以5為分界線,如果是5,則前一位變偶數1.15->1.2 1.16->1.2 1.25->1.2 1.26->1.3
ROUND_HALF_UP:最常見的四捨五入
ROUND_UNNECESSARY:無需舍位
ROUND_UP:與ROUND_DOWN,遠離0的方向1.1->2 1.5->2 1.8->2 -1.1->-2 -1.5->-2 -1.8->-2
6、介面上的public可以不寫,介面中的方法預設是public
還有mapper中的方法前的public也可以省略,預設是public
7、在使用navicat測試sql語句的時候,總是報錯Access violation at address 00007FFAB48D0D00 in module 'scilexer.dll'
百度一下給出解決方法:
記憶體越界問題,最好重新註冊下Windows的動態連結庫
首先“開始”—“執行”—“cmd”
在開啟的dos視窗中執行“for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1” 回車後即開始對
System32目錄下的所有動態連結庫逐一註冊了。重啟一邊電腦就可以了。
8、mybatis單條資料的新增可以返回新增資料的主鍵
在資料庫中主鍵必須自增,在實體類中必須定義id屬性,可以不用插入
其實插入資料庫的時候,返回的依舊是插入的條數,所以直接接收插入的引數是沒有任何影響的。
在插入完成之後,會把資料庫中自增的主鍵id賦值給實體類中的id屬性,直接從物件中獲取id就可以了。
注意:要想獲取插入之後的主鍵id,必須要有兩個屬性useGeneratedKeys="true"和 keyProperty="baseId"
keyProperty中的id名要和實體類中的id名稱一樣,否則無法返回資料。
9、linux命令:
自動補全命令列 tab
要想用linux命令下載伺服器檔案,或者向伺服器上上傳檔案,必須要先安裝rs/sz
https://blog.csdn.net/qq_17864929/article/details/48174603
10、IDEA中使用註解@Autowired或者使用@Resource時總是報錯Could not autowire. No beans of 'xxxx' type found,但是不妨礙程式編譯執行
所以是IDEA的檢測級別導致的:
file---settings---Inspections----Spring----Spring core----code-----Autowiring for Bean Class
將它右邊的Severity的Error改成Warning級別的就可以了。
11、mapper.xml的resultType代表的是List中的元素型別,而不應該是List本身
parameterType也必須一樣,只能用map,不能用list
12、IDEA debug的時候如果在方法名上打斷點,會很慢
mybatis的sql語句查詢的時候,如果這個欄位的資料為空的話,mybatis會自動過濾掉這個欄位,最後得到的結果中就找不到這個欄位
13、如果使用多個開發工具,如IDEA、eclipse,如何配置多個tomcat
免安裝版的tomcat可以一次性解壓兩份,最好修改一下其中一份檔案的名字,以防混淆,啟動兩個tomcat,一個用IDEA,一個用eclipse
修改其中一份tomcat中的conf下的server.xml檔案中的配置三個埠:
shutdown埠:<Server port="8005" shutdown="SHUTDOWN"> 預設是8005
<Server port="8006" shutdown="SHUTDOWN">
tomcat埠:<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /> 預設是8080
<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>
JVM埠:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 預設是8009
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443"/>
14、idea外掛
mybatis外掛:myBatisX、free myBatis
類圖外掛:plantuml+安裝graphviz軟體
工作流外掛:actiBPM