JAVA连接oracle数据库

[html]  view plain copy
  1. <span style="font-size:14px;color:#ff6666;">package util;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DriverManager;  
  5. import java.sql.PreparedStatement;  
  6. import java.sql.ResultSet;  
  7. import java.sql.SQLException;  
  8.   
  9. import javax.naming.Context;  
  10. import javax.naming.InitialContext;  
  11. import javax.naming.NamingException;  
  12. import javax.sql.DataSource;  
  13.   
  14. public class DBCon {  
  15.     //数据库驱动对象  
  16.     public static final String DRIVER="oracle.jdbc.driver.OracleDriver";  
  17.     //数据库连接地址(数据库名)  
  18.     public static final String URL="jdbc:oracle:thin:@localhost:1521:orcl";  
  19.     //登陆名  
  20.     public static final String USER="FM";  
  21.     //登陆密码  
  22.     public static final String PWD="FM";  
  23.     //创建数据库连接对象  
  24.     private Connection con=null;  
  25.     //创建数据库预编译对象  
  26.     private PreparedStatement ps=null;  
  27.     //创建结果集  
  28.     private ResultSet rs=null;  
  29.     //创建数据源对象  
  30.     public static DataSource source=null;  
  31.   
  32. //  //静态代码块  
  33. //  static{  
  34. //  
  35. //      //初始化配置文件context  
  36. //      try {  
  37. //          Context context=new InitialContext();  
  38. //          source=(DataSource)context.lookup("java:comp/env/jdbc/webmessage");  
  39. //      } catch (Exception e) {  
  40. //          // TODO Auto-generated catch block  
  41. //          e.printStackTrace();  
  42. //      }  
  43. //  
  44. //  
  45. //  }  
  46.   
  47.         /**  
  48.          * 获取数据库连接  
  49.          */  
  50.         public Connection getCon(){  
  51.             try {  
  52.                 Class.forName(DRIVER);  
  53.             } catch (ClassNotFoundException e) {  
  54.                 // TODO Auto-generated catch block  
  55.                 e.printStackTrace();  
  56.             }  
  57.             try {  
  58.                 con=DriverManager.getConnection(URL,USER,PWD);  
  59.             } catch (SQLException e) {  
  60.                 // TODO Auto-generated catch block  
  61.                 e.printStackTrace();  
  62.             }  
  63.               
  64.             return con;  
  65.         }  
  66. //  /**  
  67. //   * 获取数据库连接  
  68. //   */  
  69. //  public Connection getCon(){  
  70. //  
  71. //      try {  
  72. //          con=source.getConnection();  
  73. //      } catch (SQLException e) {  
  74. //          // TODO Auto-generated catch block  
  75. //          e.printStackTrace();  
  76. //      }  
  77. //  
  78. //      return con;  
  79. //  }  
  80.   
  81.   
  82.     /**  
  83.      * 关闭所有资源  
  84.      */  
  85.     public void closeAll(){  
  86.         if(rs!=null)  
  87.             try {  
  88.                 rs.close();  
  89.             } catch (SQLException e) {  
  90.                 // TODO Auto-generated catch block  
  91.                 e.printStackTrace();  
  92.             }  
  93.             if(ps!=null)  
  94.                 try {  
  95.                     ps.close();  
  96.                 } catch (SQLException e) {  
  97.                     // TODO Auto-generated catch block  
  98.                     e.printStackTrace();  
  99.                 }  
  100.                 if(con!=null)  
  101.                     try {  
  102.                         con.close();  
  103.                     } catch (SQLException e) {  
  104.                         // TODO Auto-generated catch block  
  105.                         e.printStackTrace();  
  106.                     }  
  107.   
  108.   
  109.     }  
  110.     /**  
  111.      * @param sql数据库更新(增、删、改) 语句      
  112.      * @param pras参数列表(可传,可不传,不传为NULL,以数组形式存在)  
  113.      * @return 返回受影响都行数  
  114.      */  
  115.     public int update(String sql,String... pras){  
  116.         int resu=0;  
  117.         con=getCon();  
  118.         try {  
  119.             ps=con.prepareStatement(sql);  
  120.             for(int i=0;i<pras.length;i++){  
  121.                 ps.setString(i+1,pras[i]);  
  122.             }  
  123.             resu=ps.executeUpdate();  
  124.         } catch (SQLException e) {  
  125.             // TODO Auto-generated catch block  
  126.             e.printStackTrace();  
  127.         }  
  128.         finally{  
  129.             closeAll();  
  130.         }  
  131.         return resu;  
  132.     }  
  133.   
  134.     /**  
  135.      * @param sql数据库查询语句  
  136.      * @param pras参数列表(可传,可不传,不传为NULL,以数组形式存在)  
  137.      * @return 返回结果集  
  138.      */  
  139.     public ResultSet query(String sql,String... pras){  
  140.         con=getCon();  
  141.         try {  
  142.             ps=con.prepareStatement(sql);  
  143.   
  144.             if(pras!=null)  
  145.                 for(int i=0;i<pras.length;i++){  
  146.                     ps.setString(i+1, pras[i]);  
  147.                 }  
  148.             rs=ps.executeQuery();  
  149.         } catch (SQLException e) {  
  150.             // TODO Auto-generated catch block  
  151.             e.printStackTrace();  
  152.         }  
  153.         return rs;  
  154.     }  
  155.   
  156.   
  157. }  
  158. </span>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值