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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值