Java中通过JDBC远程连接Oracle数据库

简介: 通过jdbc连接数据库,拢共分三步: 第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path; 第二步:去本地oracle文件夹下找到“TNSNAMES.ORA”文件,打开找到对应数据库的连接字符串,作为jdbc的连接字符串; 第三步:写代码,通过jdbc连接数据库。

通过jdbc连接数据库,拢共分三步:

第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path;

第二步:去本地oracle文件夹下找到“TNSNAMES.ORA”文件,打开找到对应数据库的连接字符串,作为jdbc的连接字符串;

第三步:写代码,通过jdbc连接数据库。

从网上找了段代码,做了下修改。以下为查询数据库表中所有字段及字段值类型,遍历数据库表中所有数据(其中xxx均为需要替换的信息):

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;

public class ConnectDB {
    public static void main(String[] args) {
        connectDB();
    }

    public static void connectDB() {
        Connection con = null;
        PreparedStatement pre = null;
        ResultSet results = null;
        ResultSetMetaData resultSetMetaData = null;
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            System.out.println("开始尝试连接数据库!");
            // 必须用oracle文件夹下"tnsnames.ora"配置文件中配置的连接字符串进行远程连接数据库
            String url = "jdbc:oracle:" + "thin:@(DESCRIPTION =" + "(ADDRESS_LIST ="
                    + "(ADDRESS = (PROTOCOL = TCP)(HOST = xxx)(PORT = xxx))" + ")" + "(CONNECT_DATA ="
                    + "(SERVICE_NAME = xxx)" + ")" + ")";
            String user = "xxx";
            String password = "xxx";
            con = DriverManager.getConnection(url, user, password);
            System.out.println("连接成功!");
            String sql = "select * from xxx";
            pre = con.prepareStatement(sql);
            System.out.println("开始执行SQL语句!");
            results = pre.executeQuery();
            resultSetMetaData = results.getMetaData();
            int columnCount = resultSetMetaData.getColumnCount();
            // 获取数据库表所有字段名及字段值类型
            for (int i = 1; i <= columnCount; i++) {
                System.out.println(resultSetMetaData.getColumnName(i) + ":" + resultSetMetaData.getColumnTypeName(i));
            }
            while (results.next()) {
                for (int i = 1; i <= columnCount; i++) {
                    System.out.print(results.getString(i)+"\t\t");
                }
                System.out.println();
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (results != null)
                    results.close();
                if (pre != null)
                    pre.close();
                if (con != null)
                    con.close();
                System.out.println("数据库连接已关闭!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

 

相关文章
|
24天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
16 1
|
24天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
11 0
|
24天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
10 0
|
1月前
|
数据采集 Java 关系型数据库
Java代码高效连接数据库
Java代码高效连接数据库
16 2
|
15天前
|
存储 NoSQL Java
Java数据库编程指南:实现高效数据存储与访问
【4月更文挑战第2天】Java开发者必须掌握数据库编程,尤其是JDBC,它是连接数据库的标准接口。使用Spring JDBC或JPA能简化操作。选择合适的JDBC驱动,如MySQL Connector/J,对性能至关重要。最佳实践包括事务管理、防SQL注入、优化索引和数据库设计。NoSQL数据库如MongoDB也日益重要,Java有对应的驱动支持。理解这些概念和技术是构建高效数据库应用的基础。
Java数据库编程指南:实现高效数据存储与访问
|
2天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
26天前
|
Java 数据库
java面向对象高级分层实例_数据库操作类
java面向对象高级分层实例_数据库操作类
10 1
|
27天前
|
安全 Java 数据库连接
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
153 0
|
27天前
|
SQL Java 关系型数据库
在Python中编写Java数据库驱动是不可能的
在Python中编写Java数据库驱动是不可能的
|
27天前
|
SQL Java 关系型数据库
Java数据库访问
Java数据库访问

推荐镜像

更多