zoukankan      html  css  js  c++  java
  • java连接Oracle数据库的操作说明

      在测试中,我们常常需要连接Oracle数据库来进行查询对比。下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值。

      首先,java中如果要连接Oracle数据库,需要jdbc的jar包。下载地址:https://mvnrepository.com/artifact/ojdbc/ojdbc

      根据使用Oracle的方式,连接所使用的的Url为以下两种:

      Oracle URL:
      jdbc:oracle:thin:@HostName(or IP address):1521:SID
      jdbc:oracle:thin:@//HostName(or IP address):1521:SERVICENAME
      
      这里的参数thin表示小型驱动,HostName(or IP address):1521这个是指代Oracle数据库的具体网络位置。SID/ServiceName这个是指具体链接的数据库SID或者数据库的服务。
      在真正连接数据库之前,我们需要先注册一个驱动。
      
     try {
      Class.forName(
    "oracle.jdbc.driver.OracleDriver"); }catch (ClassNotFoundException e) { System.out.println("找不到驱动程序类,驱动加载失败!");

      这种方式是使用类加载的方式来注册驱动。

      当然,我们还可以使用新建OracleDriver对象的方式来注册驱动。

    Driver driver = new OracleDriver();
    DriverManager.deregisterDriver(driver);

      两种方式均可以,可以根据实际情况进行选择。

      接下来,我们就要获取Oracle数据库的链接。

    connect = DriverManager.getConnection("jdbc:oracle:thin:@OracleDataBaseHost:1521:XE", "连接oracle数据库用户名", "用户名密码");

      如果使用的是driver对象注册的。可以使用下面的代码

    Properties properties = new Properties();
    properties.put("user", "oracle数据库用户名");
    properties.put("password", "用户名密码");
    connect = driver.connect("jdbc:oracle:thin:@localhost:1521:XE", properties);

      有了链接之后,我们就可以使用这个链接,来获取执行sql语句的对象。

    statement = connect.createStatement();

      如果是driver对象的方式

    PreparedStatement preState = connect.prepareStatement("select  * from tb1 where name = ?");

      再接下来,就是具体的执行sql的语句

    resultSet = statement.executeQuery("select * from tb1");

      如果是PrepareStatement的对象,也是一样的。

    ResultSet rs = preState.executeQuery();

      然后,根据得到的ReslutSet来对结果进行处理。

    while (rs.next()){
      int id = rs.getInt("id");
      String name = rs.getString("name");
      String wbsCode = rs.getString("wbscode");
      System.out.println(id+"   "+name+"   "+ wbsCode);  //打印输出结果集
    }

      最后,逐一关闭链接的资源。不关闭的话会影响性能、并且占用资源。注意关闭的顺序,最后使用的最先关闭 !

    try {
      if (rs!=null) rs.close();
      if (statement!=null) statement.close();
      if (connect!=null) connect.close();
    } catch (SQLException e) {
       e.printStackTrace();
    }

      这样,整体就完成了从Oracle数据库连接并读取数据的操作。

      
      
  • 相关阅读:
    软件需求与建模 复习笔记
    Autoware 笔记No.9,SSD车辆、行人(障碍物)识别(ssd vision detect)
    Autoware 笔记No.8 ENet 障碍物识别(vision segment ENet detect)
    Autoware 1.14 完整安装
    Autoware 笔记No.7, CNN障碍物检测(CNN LiDAR Baidu Object Segmenter)
    iOS 使用局部block处理接口依次调用需求
    阿里一面凉经
    Codeforces round #717 D.Cut(m询问求区间[L,R]能被至少分成多少个区间让每个小区间各数的乘积==各数的LCM)
    2018-2020 国家集训队论文选读
    GDOI 2021 游记
  • 原文地址:https://www.cnblogs.com/generalli2019/p/11490151.html
Copyright © 2011-2022 走看看