数据库连接池相关内容

1,使用动态代理技术构建连接池中的connection:

proxyConn = (Connection) Proxy.newProxyInstance(this.getClass()
   .getClassLoader(), conn.getClass().getInterfaces(),
   new InvocationHandler() {
  //此处为内部类,当close方法被调用时将conn还回池中,其它方法直接执行
   public Object invoke(Object proxy, Method method,
       Object[] args) throws Throwable {
    if (method.getName().equals("close")) {
     pool.addLast(conn);
     return null;
   }
   return method.invoke(conn, args);
  }
 });

2,Oracle中大数据处理:

Oracle定义了一个BLOB字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的Oracle的LOB段中, LOB段是在数据库内部表的一部分。
因而在操作Oracle的Blob之前,必须获得指针(定位器)才能进行Blob数据的读取和写入。
如何获得表中的Blob指针呢? 可以先使用insert语句向表中插入一个空的blob(调用oracle的函数empty_blob()  ),这将创建一个blob的指针,然后再把这个empty的blob的指针查询出来,这样就可得到BLOB对象,从而读写blob数据了。

 

 

 

posted @ 2012-12-01 18:24  皮皮机器猫  阅读(152)  评论(0编辑  收藏  举报