Java连接数据库步骤解析(Oracle、MySQL)

  

Java连接数据库步骤解析(Oracle、MySQL)

在Java开发中,连接数据库是很常见的操作。这里就介绍一下Java连接Oracle和MySQL数据库的步骤。

1. Oracle数据库连接步骤

1.1 下载驱动

Java连接Oracle需要下载Oracle的JDBC驱动,下载地址如下:

https://www.oracle.com/database/technologies/jdbc-driver-ucp-downloads.html

下载后,需要将下载好的jar包添加到项目的classpath中。

1.2 加载驱动

在Java代码中加载Oracle的JDBC驱动,代码如下:

Class.forName("oracle.jdbc.driver.OracleDriver");

1.3 创建连接

在加载驱动后,需要通过DriverManager来获取数据库的连接,代码如下:

String url = "jdbc:oracle:thin:@[HOST]:[PORT]:[SID]";
String user = "USERNAME";
String password = "PASSWORD";
Connection connection = DriverManager.getConnection(url, user, password);

其中,[HOST]表示数据库的IP地址或主机名,[PORT]表示数据库监听的端口号,[SID]表示Oracle数据库的SID名称。

1.4 创建语句

获取连接后,我们就可以使用Java代码对Oracle数据库进行操作了,首先需要创建Statement对象,代码如下:

Statement statement = connection.createStatement();

1.5 执行语句

使用Statement对象可以执行SQL语句,代码如下:

ResultSet resultSet = statement.executeQuery("SELECT * FROM TABLE_NAME");

1.6 处理结果

使用ResultSet对象可以获取到查询结果,代码如下:

while (resultSet.next()) {
    String column1 = resultSet.getString("COLUMN1");
    int column2 = resultSet.getInt("COLUMN2");
    // 处理结果
}

2. MySQL数据库连接步骤

2.1 下载驱动

Java连接MySQL需要下载MySQL的JDBC驱动,下载地址如下:

https://dev.mysql.com/downloads/connector/j/

下载后,需要将下载好的jar包添加到项目的classpath中。

2.2 加载驱动

在Java代码中加载MySQL的JDBC驱动,代码如下:

Class.forName("com.mysql.cj.jdbc.Driver");

2.3 创建连接

在加载驱动后,需要通过DriverManager来获取数据库的连接,代码如下:

String url = "jdbc:mysql://[HOST]:[PORT]/[DATABASE_NAME]";
String user = "USERNAME";
String password = "PASSWORD";
Connection connection = DriverManager.getConnection(url, user, password);

其中,[HOST]表示数据库的IP地址或主机名,[PORT]表示数据库监听的端口号,[DATABASE_NAME]表示MySQL数据库的数据库名。

2.4 创建语句

获取连接后,我们就可以使用Java代码对MySQL数据库进行操作了,首先需要创建Statement对象,代码如下:

Statement statement = connection.createStatement();

2.5 执行语句

使用Statement对象可以执行SQL语句,代码如下:

ResultSet resultSet = statement.executeQuery("SELECT * FROM TABLE_NAME");

2.6 处理结果

使用ResultSet对象可以获取到查询结果,代码如下:

while (resultSet.next()) {
    String column1 = resultSet.getString("COLUMN1");
    int column2 = resultSet.getInt("COLUMN2");
    // 处理结果
}

示例说明

示例1:查询Oracle数据库

下面是一个简单的Java代码示例,用来查询Oracle数据库中的某个表,读取表中的数据并打印出来:

public class OracleDemo {

    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            // 加载驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            // 获取连接
            String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
            String user = "system";
            String password = "oracle";
            connection = DriverManager.getConnection(url, user, password);
            // 创建Statement对象
            statement = connection.createStatement();
            // 执行查询语句
            resultSet = statement.executeQuery("SELECT * FROM EMP");
            // 处理查询结果
            while (resultSet.next()) {
                int empno = resultSet.getInt("EMPNO");
                String ename = resultSet.getString("ENAME");
                String job = resultSet.getString("JOB");
                int mgr = resultSet.getInt("MGR");
                Date hiredate = resultSet.getDate("HIREDATE");
                double sal = resultSet.getDouble("SAL");
                double comm = resultSet.getDouble("COMM");
                int deptno = resultSet.getInt("DEPTNO");
                System.out.format("%d\t%s\t%s\t%d\t%s\t%f\t%f\t%d%n", 
                        empno, ename, job, mgr, hiredate, sal, comm, deptno);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 释放资源
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

示例2:查询MySQL数据库

下面是一个简单的Java代码示例,用来查询MySQL数据库中的某个表,读取表中的数据并打印出来:

public class MySQLDemo {

    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            // 加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 获取连接
            String url = "jdbc:mysql://127.0.0.1:3306/test";
            String user = "root";
            String password = "root";
            connection = DriverManager.getConnection(url, user, password);
            // 创建Statement对象
            statement = connection.createStatement();
            // 执行查询语句
            resultSet = statement.executeQuery("SELECT * FROM EMP");
            // 处理查询结果
            while (resultSet.next()) {
                int empno = resultSet.getInt("EMPNO");
                String ename = resultSet.getString("ENAME");
                String job = resultSet.getString("JOB");
                int mgr = resultSet.getInt("MGR");
                Date hiredate = resultSet.getDate("HIREDATE");
                double sal = resultSet.getDouble("SAL");
                double comm = resultSet.getDouble("COMM");
                int deptno = resultSet.getInt("DEPTNO");
                System.out.format("%d\t%s\t%s\t%d\t%s\t%f\t%f\t%d%n", 
                        empno, ename, job, mgr, hiredate, sal, comm, deptno);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 释放资源
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
相关文章