Jdbc Util

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

public class JdbcUtil {

    private static Properties  env=new Properties();
    static{
       try{
          InputStream is=JdbcUtil.class.getResourceAsStream("/com/cici/conf/env.properties");
           env.load(is);
           is.close();
       }catch(Exception e){
            throw new ExceptionInInitializerError(e);
       }
    }
    private static final ThreadLocal<Connection> tl=new ThreadLocal<Connection>();
   public static Connection  getConnection() throws Exception{    
        Connection conn=tl.get();
        
        if(conn==null){
            Class.forName(env.getProperty("driver"));
            conn=DriverManager.getConnection(
               env.getProperty("url"),
               env.getProperty("username"),
               env.getProperty("password")
            );
            tl.set(conn);
        }
          //设置为自动提交 
        conn.setAutoCommit(false);
        return conn;
   }
   public static void release(ResultSet rs,Statement stm,Connection conn){
       if(rs!=null)  try{ rs.close(); } catch(Exception e){}
       if(stm!=null)  try{ stm.close(); } catch(Exception e){}
       if(conn!=null)  try{ conn.close();   } catch(Exception e){}
   }

}
env.properties文件内容

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
username=indonesiaprod
password=indonesiaprod

调用

   Connection conn=null;
          Statement stm=null;
          ResultSet rs=null;
 
             
                    try{
                             conn=JdbcUtil.getConnection();
                             stm=conn.createStatement();
                    if(level==1) {
                 String  sql1=" ";
                  
                        rs=stm.executeQuery(sql1);
                       int i=0;
                     while(rs.next()){
                       i = rs.getInt(1);
                  }
                       
                
                         stm.clearBatch();
                        
                } 
                    
                     }catch( Exception e){
                    
                        try {
                            conn.rollback();
                        } catch (SQLException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                 
                         e.printStackTrace();
                     }finally{
//release之前提交 conn.commit(); JdbcUtil.release(rs, stm,
null); } }

 

posted @ 2013-01-29 13:55  王超_cc  阅读(882)  评论(0编辑  收藏  举报