J2EE零碎筆記

來源:互聯網
上載者:User

前段時間一直在趕代碼,沒有時間整理筆記了。這兩天趁還沒忘光趕緊記錄一下,有些零碎,想起什麼寫什麼吧。

1.java.sql.PreparedStatement的批量處理資料.

  之前都是一條一條的插入,覺得太2了,於是查到PreparedStatement可以批量處理,直接貼DEMO代碼好了

PreparedStatement ps = conn.prepareStatement( 
   "INSERT into employees values (?, ?, ?)"); 
for (n = 0; n < 100; n++) { 
  ps.setString(name[n]); 
  ps.setLong(id[n]); 
  ps.setInt(salary[n]); 
  ps.addBatch(); 
} 
ps.executeBatch(); 

如果資料量特別大的話,可以限制一下batch的size,比如每1000條記錄就提交一次

PreparedStatement ps = conn.prepareStatement( 
   "INSERT into employees values (?, ?, ?)"); 
int[] result;
int affectedLine=0;
for (n = 0; n < 2345; n++) { 
ps.setString(name[n]); 
ps.setLong(id[n]); 
ps.setInt(salary[n]); 
ps.addBatch();
if((i+1)%BATCH_LIMITE==0){
result=pstmt.executeBatch();
affectedLine+=calculateSum(result);
conn.commit();
ps.clearBatch();
}
result=ps.executeBatch();
affectedLine+=calculateSum(result);
}

2.擷取WEB當前根目錄:

public static String getWebClassesPath() throws URISyntaxException {
String path =GlobalParameter.class.getResource("/").toURI().getPath();
return path;
}
public static String getWebInfPath() throws IllegalAccessException, URISyntaxException {
String path = getWebClassesPath();
if (path.indexOf("WEB-INF") > 0) {
path = path.substring(0, path.indexOf("WEB-INF") + 8);
} else {
throw new IllegalAccessException("路徑擷取錯誤");
}
return path;
}
public static String getWebRoot() throws IllegalAccessException, URISyntaxException {
String path = getWebClassesPath();
if (path.indexOf("WEB-INF") > 0) {
path = path.substring(0, path.indexOf("WEB-INF/classes"));
} else {
throw new IllegalAccessException("路徑擷取錯誤");
}
return path;
}
@Test
public void testPath() throws IllegalAccessException, URISyntaxException {
System.out.println("Web Class Path = " + getWebClassesPath());
System.out.println("WEB-INF Path = " + getWebInfPath());
System.out.println("WebRoot Path = " + getWebRoot());
}

這裡有一點要說明一下:在開發環境下(我是Eclipse J2EE+Tomcat 7),eclipse用一個server的外掛程式類比Tomcat的服務,所以通過以上方法獲得的WEBROOT PATH通常會是D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\mystruts\這種,如果有動態產生的檔案要放到WEB目錄下就在這裡面找吧,貌似是個臨時的檔案夾,沒有仔細研究。(一開始放在項目工程WEBROOT下的檔案會被複製到這個臨時目錄裡面的,所以都找得到)

3.雙向MAP,BiMap.支援通過value尋找key

使用的是Google Collection,這裡有介紹。

使用方法

BiMap<String,String> map = HashBiMap.create();   
map.put("kafka0102","1");   
System.out.println(map.get("kafka0102"));   
System.out.println(map.inverse().get("1");//輸出反向資料沒有提供單獨的函數,而是需要調用inverse().get() 

 

 

4.目前想起這麼多,回頭再補

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.