9月16

来源:互联网 发布:linux vsftpd 编辑:程序博客网 时间:2024/05/03 11:45


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




0 0
原创粉丝点击