9月16



1、日期處理     java.sql.Date  java.util.Date     SimpleDateFormat類最核心類


2、編譯時異常和運行時異常
 比如在寫JDBC  DAO 的時候可能會拋出SQL異常就是編譯時異常

3、Eclipse對方法的重構   即:當某一段代碼塊總是重複的出現的時候,我們就可以考慮重構代碼塊了。


4、Properties 屬性類,其實它本質就是一個Map類型的key-value

 慢慢的會發現數據結構是非常重要的,比如json採用的就是Map 的key-Object.  NoSQL使用的也是json

 使用ClassLoader來加載Properties文件
  Properties properties=new Properties();
  InputStream inputStream=this.getClass().getClassLoader().getResourceAsStream("test.properties");
  properties.load(inputStream);
 

 Properties類是繼承自HashTable<Object,Object>  備註:HashTable是實現了Map接口。
 Properties的setProperty(String,String)和put(Object,Object)方法,其實setProperty是繼承自put的。

 
5、事務很經典的一個例子就是銀行轉賬的問題,一定要同步。
 
 使用JDBC的話,那麼首先要把自動提交事務給關閉,否則無法使用事務了。JDBC 是默認就是自動提交的
 
 如果有操作是不收事務影響的話,那麼我們可以設置保存點 Savepoint 

6、插入操作時獲得主鍵值  的方法  有一個自動獲得主鍵


   //準備預處理機制(發送器)  Statement.RETURN_GENERATED_KEYS
   preparedStatement=connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
   //填充佔位符
   preparedStatement.setString(1, "linshiyu");
   preparedStatement.setString(2, "password");
   //執行操作
   preparedStatement.executeUpdate();
   
   //獲得主鍵結果集操作
   resultSet=preparedStatement.getGeneratedKeys();
   Integer id=0;
   if(resultSet.next()){
    
    id=resultSet.getInt(1);
   }
   
   System.out.println("插入主鍵爲:"+id);


7、批量操作,主要針對的是insert、update

  for(int i=0;i<1000;i++){
    preparedStatement.setString(1, "linshiyu"+i);
    preparedStatement.setString(2, "password"+i);
    preparedStatement.setInt(3, i);
    
    //preparedStatement.execute();
    preparedStatement.addBatch();
    
   }
   
   preparedStatement.executeBatch();


8、可回滾的結果集  

 可以絕對定位某一行、幾個常用的方法。但是可滾動結果集並不重要


9、自己編寫一個數據庫連接池(數據源)
 MyDataSource  使用LinkedList作爲集合 來裝連接


10、使用Spring JdbcTemplate來操作一下表數據


11、ArrayList  和 LinkedList的使用


12、Map接口  看完我寫的Map代碼 直接看源碼




發佈了104 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章