使用jdbc连接oracle数据库

最近学习了j2ee,练习了用jdbc连接oracle数据库,现在把大致的过程分享在这里

 

JDBC是一种用于执行sql语句的java api。使用jdbc连接数据库并进行操作分为一下几步:

1、加载jdbc驱动

2、创建连接

3、执行sql语句并获得查询结果集

       4、显示结果信息

 

5、释放资源

 

接下来在代码中一步一步的进行(我使用的是MyEclipse,建立的web项目,首先需要把oracle的jdbc驱动包复制到WEB-INF下的lib文件夹下)。在src添加一个包,在包中建立java类,代码如下:

 

 

[java][/java] view plaincopyprint?

  1. //引入jdbc相关的类
  2. import  java.sql.*;
  3. public class DbUtil {
  4.     /*
  5.     *获取连接
  6.     *
  7.     */
  8.     public static Connection getConnection(){
  9.         //声明连接
  10.         Connection conn=null;
  11.         //jdbc驱动名
  12.         String driverName=”oracle.jdbc.driver.OracleDriver”;
  13.         //所要连接的数据库url
  14.         String url=”jdbc:oracle:thin:@localhost:1521:xqf”;
  15.         //用户名和密码
  16.         String username=”drp1″;
  17.         String password=”drp1″;
  18.         try {
  19.             //1、加载数据库驱动
  20.             Class.forName(driverName);
  21.             //2、在数据库和程序之间建立连接
  22.             conn=DriverManager.getConnection(url,username,password);
  23.         } catch (ClassNotFoundException e) {
  24.             // TODO Auto-generated catch block
  25.             e.printStackTrace();
  26.         } catch(SQLException e){
  27.             e.printStackTrace();
  28.         }
  29.         return conn;
  30.     }
  31.     public static void main(String[] arg){
  32.         //建立连接对象
  33.         Connection con=DbUtil.getConnection();
  34.         //定义用户执行sql语句的statement和结果集
  35.         Statement stmt=null;
  36.         ResultSet rs=null;
  37.         try {
  38.             //建立Statement对象,该对象可以用于执行sql语句
  39.             Statement stmt=con.createStatement();
  40.             //3、执行sql语句,获得结果集
  41.             rs=stmt.executeQuery(“select * from t_user”);
  42.             while(rs.next()){
  43.                 //4、打印结果中的某个字段
  44.                 System.out.println(rs.getString(“USER_ID”));
  45.             }
  46.         } catch (SQLException e) {
  47.             // TODO Auto-generated catch block
  48.             e.printStackTrace();
  49.         }finally{
  50.             try{
  51.                 //5、关闭资源
  52.                 rs.close();
  53.                 stmt.close();
  54.                 conn.close();
  55.             }catch(Exception e){
  56.             }
  57.         }
  58.     }
  59. }

 

其中需要注意的是加载jdbc驱动:

[java][/java] view plaincopyprint?

  1. String driverName=”oracle.jdbc.driver.OracleDriver”;
  2. Class.forName(driverName);

连接不同的数据库对应不同的数据库名称,下面分别是odbc,mysql,oracle,sqlserver的驱动名:

 

再有需要解释的就是连接数据库的url:

 

[java][/java] view plaincopyprint?

  1. String url=”jdbc:oracle:thin:@localhost:1521:xqf”;

url由3部分组成:<协议>:<子协议>:<子名称>,中间用冒号分隔

 

协议:不管连接什么数据库都是 jdbc

子协议:不同的数据库对应不同的名称,这个例子里是oracle:thin

子名称:包含要连接数据的名称、用户名和密码等信息

标签