1. 程式人生 > >開發中的小知識點

開發中的小知識點

 

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