HarrySun

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

      从2011年10月之后就没有用过JAVA了,真是汗颜啊!

      从2012年5月之后就没有写过程序了,真是汗颜!

  今天要做ETL操作,自然第一下就想起了我熟悉的Java。打开eclispe就完全不知道怎么下手了。然后,自己用最简单的例子回忆了一遍Java操作mysql5.0。操作过程基本熟悉之后,我又想起了一个通用的操作代码,所幸在百度文库上面找到了。原作者不详,我只是将源代码贴在下面。

 1 package dao;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 
 8 public class BaseDao {
 9     public static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
10     public static final String URL = "jdbc:oracle:thin:@localhost:1521:ORCL";
11     public static final String USERNAME = "ma";
12     public static final String PASSWORD = "malei";
13     
14     Connection connection = null;
15     PreparedStatement preparedStatement = null;
16     ResultSet resultSet = null;
17     
18     public Connection getConnection() throws Exception {
19         Class.forName(DRIVER);
20         connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);
21         return connection;
22     }
23     
24     public ResultSet executeQuery(String sql) throws Exception {
25         connection = this.getConnection();
26         preparedStatement = connection.prepareStatement(sql);
27         resultSet = preparedStatement.executeQuery();
28         return resultSet;
29         
30     }
31     
32     public int executeUpdate(String sql,Object[] obj) throws Exception {
33         connection = this.getConnection();
34         preparedStatement = connection.prepareStatement(sql);
35         for(int i =0;i<obj.length;i++){
36             preparedStatement.setObject(i+1, obj[i]);
37         }
38         return preparedStatement.executeUpdate();
39     }
40     
41     public void closeAll() throws Exception {
42         if(null != resultSet){
43             resultSet.close();
44         }
45         if(null != preparedStatement){
46             preparedStatement.close();
47         }
48         if(null != connection){
49             connection.close();
50         }
51     }
52 }

这是我很早之前初学Java时就见过的模版,很优雅。同时也兼顾了性能PreparedStatement和安全性(防SQL注入)两方面。对于比较简单的数据库操作基本满足要求。

      学习既是训练思维和与遗忘作斗争的过程。但是,我相信忘得快,捡起来会更快!

posted on 2012-09-17 00:36  HarrySun  阅读(5983)  评论(0编辑  收藏  举报