可编辑的JDBC链接方法

来源:互联网 发布:建设一个淘宝网站 编辑:程序博客网 时间:2024/06/05 05:25

 
安全方便写法
新建一个文本资源文件:rec.properties写配置信息
#odbc-jdbc桥接方式此方法可以桥接任意ODBC支持的数据库
#driver="sun.jdbc.odbc.JdbcOdbcDriver";
#url="jdbc:odbc:weasel";           ##最后是数据源名称;
#user="sa";                        ##数据源指定的用户名;
#password="";                     
#  
#纯JDBC的SQL SERVER 驱动
#为特定数据库分配一个账号以后,URL就不用DatabaseName项了;
#当然user,password就是使用分配的user,password
#driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
#url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
#user="sa";
#password="";
#ORACLE的部分JAVA驱动程序
#driver=oracle.jdbc.OracleDriver
#url=jdbc:oracle:oci8@localhost       ## @ SID
#user=scott
#password=tiger
#ORACLE的纯JAVA驱动程序
driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:weasel

user=scott
password=tiger
写一个获取连接串的程序:DbConfig.java程序:
package text;
import JAVA.util.ResourceBundle;
public class DbConfig {
static final String dbresource = "text.rec";        //注意这里是包路径
static ResourceBundle resources = ResourceBundle.getBundle(dbresource);    
static public String getString(String key){
        return resources.getString(key);
}    
}
这里是连接程序:DBConn.java
package text;
import JAVA.sql.Connection;
import JAVA.sql.DriverManager;
import JAVA.sql.SQLException;
public class DBConn {
    public static Connection getConnection(){
final String driver = DbConfig.getString("driver");
final String url = DbConfig.getString("url");
final String user = DbConfig.getString("user");
final String password = DbConfig.getString("password");
Connection conn=null;  
 try{
    Class.forName(driver);
        conn=DriverManager.getConnection(url,user,password);         
   }catch(SQLException e){
        e.printStackTrace();
   }catch(ClassNotFoundException e){
     e.printStackTrace();    
   }
   return conn;
   }
}     
其它程序就可以引用以上程序,改变据库只要修改配置文件就可以了。
Insert program:
package text;
import JAVA.sql.Connection;
import JAVA.sql.PreparedStatement;
import JAVA.sql.SQLException;
import JAVA.sql.Timestamp;
public class PrepareInsertText {
public static void main(String[] args){
           final String isql="insert into emp values(?,?,?,?,?,?,?,?)";
           Connection conn=DBConn.getConnection();
           PreparedStatement pstmt=null;
           try{
             pstmt= conn.prepareStatement(isql);
             pstmt.setDouble(1,8004);
             pstmt.setString(2,"bbb");
             pstmt.setString(3,"bbb");
             pstmt.setInt(4,111);
             pstmt.setTimestamp(5,Timestamp.valueOf(("2001-12-21 00:00:00")));
             pstmt.setInt(6,1300);
             pstmt.setInt(7,0);
             pstmt.setInt(8,20);
             pstmt.executeUpdate();            //提交处理
           }catch(SQLException e){
            e.printStackTrace();          //此处可以不写,就可以不弹出错误码信息             
           }finally{
            try {
                      if(pstmt != null){
                             pstmt.close();
                      }
                      if (conn != null) {
                             conn.close();
                      }
               } catch (Exception ex) {
               }                      }
           System.out.println("End.");
        }
}
Update program:
package text;
import JAVA.sql.Connection;
import JAVA.sql.PreparedStatement;
import JAVA.sql.SQLException;
public class PrepareUpdateText {
public static void main(String[] args ){
final String usql = "update emp set sal = sal + 100 where empno =?";
Connection conn = DBConn.getConnection();
PreparedStatement pstmt = null;
try {      
        pstmt = conn.prepareStatement(usql);        
        int[] empnoes = {8001,8002};            
        for(int i = 0; i <empnoes.length; i++){
               pstmt.setInt(1, empnoes[i]);
               pstmt.executeUpdate();
        }           
}
// catch
}
Select program:
package text;
import JAVA.sql.Connection;
import JAVA.sql.PreparedStatement;
import JAVA.sql.ResultSet;
import JAVA.sql.ResultSetMetaData;
import JAVA.sql.SQLException;
public class PrepareSelectText {
public static void main(String[] args){
   final String isql="select * from emp where empno=?";
   Connection conn=DBConn.getConnection();
   PreparedStatement pstmt=null;
   try{
     pstmt=   conn.prepareStatement(isql);
     pstmt.setDouble(1,7931);  
     ResultSet rs=pstmt.executeQuery();
     ResultSetMetaData rsmd=rs.getMetaData();
     int colCount = rsmd.getColumnCount();
     while(rs.next()){
     for(int i=0;i<colCount;i++){
     System.out.print("/t"+rs.getObject(i+1));    
     }    
     System.out.println();
     }
     rs.close();    
   }
//catch
}
//事务处理
package text;
import JAVA.sql.Connection;
import JAVA.sql.SQLException;
import JAVA.sql.Statement;
public class UpdateText {
    public static void main(String[] args){
    String sql1 = "update emp set sal = sal + 200 where empno = 8801";
        String sql2 = "update emp set sal = sal - 200 where empno = 8802";       
        Connection conn = DBConn.getConnection();                  
        if(conn == null) return;        
        Statement stmt = null;
        try {
               System.out.println("Transaction Level =" + conn.getTransactionIsolation()); //显示事务级别
               //设置提交模式
               conn.setAutoCommit(false);                //自动提交为否
               stmt = conn.createStatement();                  
               stmt.executeUpdate(sql1);                  
               stmt.executeUpdate(sql2);                  
               conn.commit();                 //提交事务
        } catch (SQLException e) {
               try {
                      conn.rollback();
               } catch (SQLException e1) {
                      e1.printStackTrace();
               }
               e.printStackTrace();
        } finally{
               if(stmt != null){
                      try {
                             stmt.close();
                      } catch (SQLException e) {
                       e.printStackTrace();
                      }
               }                  
               if(conn != null){
                      try {
                             conn.close();
                      } catch (SQLException e) {
                       e.printStackTrace();
                      }     }
        }
        System.out.println("end.");
    }
}
 

原创粉丝点击