如何使用MacOS上的PostgreSQL来启动JDBC

首先

我之前有机会接触JDBC,因此想在个人环境下进行练习,以下是我安装PostgreSQL的步骤,主要是作为备忘录记录下来。

各种版本等


- macOS : 10.15.4
- JDK : 13.0.1
- PostgreSQL : 12.2
- JDBC Driver : 42.4.12
- ターミナル : bash

使用Homebrew安装PostgreSQL

    MacにPostgreSQLを導入する方法&初期設定をおこなう

根据上述文章的参考,安装PostgreSQL。
下文中的用户和密码将被描述为”postgresql”。

下载PostgreSQL JDBC驱动程序。

    PostgreSQL公式

请从上述页面下载JDBC驱动程序。

将JDBC驱动(jar文件)安装和设置CLASSPATH。

如果使用的是MacOS,并且JDK的版本低于8,则可以将Java外部库(例如jar文件)放置在/Library/Java/Extensions目录下,这样类加载器会在编译时自动查找JDBC的类文件。
但是,由于这次使用的是JDK13,所以需要设置CLASSPATH。

1. 安装JDBC驱动器

将已下载的postgresql-42.2.12.jar文件放置在/Library/Java/Extensions目录中。

2. 设置CLASSPATH

为了让类加载器在编译时响应,需要设置环境变量CLASSPATH。打开终端并执行以下命令。

echo 'export CLASSPATH=.:/Library/Java/Extensions/postgresql-42.2.12.jar:$CLASSPATH' >> .bash_profile
source ~/.bash_profile

第一行是将CLASSPATH写入.bash_profile文件。
第二行是重新加载.bash_profile文件。

使用JDBC进行对PostgreSQL的连接测试。

最后,我们将进行测试表的创建、与数据库的连接以及数据获取的演示。

1. 创建测试用表

创建用于测试表格的SQL的创建

在任意位置创建以下文件。
以下假设我们创建在~/桌面上。

create table test(
    id serial primary key,
    name varchar(255),
    point real
);
insert into test(name,point) values
('foo', 41.2),
('bar',55.1),
('baz', 10.7),
('qux', 98.0),
('quux', 22.2),
('foobar', 35.6);

在中文中,使用以下的表达来表达原文的意思:
启动PostgreSQL并创建数据库。

打开终端并执行以下命令。

brew services start postgresql
createdb test
psql test

创建测试用表格

当PostgreSQL的控制台启动后,执行以下命令。

\i ~/Desktop/createTestTable.sql
\q

2. 通过JDBC连接到数据库并获取数据

创建用于调用的Java文件

在任何位置创建以下文件。
以下假设我们创建在~/Desktop上。

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

public class Main {
    public static void main(String[] args) {
        String url = "jdbc:postgresql://localhost/test";
        String user = "postgresql";
        String password = "postgresql";
        String sql = "select * from test";

        try(Connection con = DriverManager.getConnection(url, user, password)){
            try(PreparedStatement ps = con.prepareStatement(sql)){
                ResultSet rs = ps.executeQuery();
                while (rs.next()){
                    System.out.print(rs.getString("name"));
                    System.out.print(" gets ");
                    System.out.println(rs.getInt("point"));
                }
            } catch(SQLException e){
                e.printStackTrace();
            }
        } catch(SQLException e){
            e.printStackTrace();
        }
    }
}

编译和运行Java文件

cd ~/Desktop
javac Main.java
java Main

输出的结果


foo gets 41.2
bar gets 55.1
baz gets 10.7
qux gets 98.0
quux gets 22.2
foobar gets 35.6

最后

希望能够帮助首次使用JDBC进行数据库访问的人。如果有错误,请指出。

文献引用

    • MacにPostgreSQLを導入する方法&初期設定をおこなう

 

    ドットインストール – PostgreSQL入門
广告
将在 10 秒后关闭
bannerAds