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代碼 直接看源碼