如何使用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入門