java - 如何运行 .sql 脚本 JDBC?
问题描述
我有带有脚本的 .sql 文件:
DROP TABLE IF EXISTS groups;
CREATE TABLE groups(
group_id INTEGER NOT NULL,
group_name VARCHAR(50),
PRIMARY KEY(group_id)
);
我尝试使用以下代码运行此文件以在我的 PostgreSQL 数据库中创建表:
String URL = "jdbc:postgresql://localhost:5432/school";
String user = "postgres";
String password = "password";
Connection connection = DriverManager.getConnection(URL, user, password);
System.out.println("Success.........");
ScriptRunner scriptRunner = new ScriptRunner(connection);
Reader reader = new BufferedReader(new FileReader("src/main/resources/database/dbScript.sql"));
scriptRunner.runScript(reader);
但表没有生成。我究竟做错了什么?
解决方案
在您的 sql 脚本中添加以下内容:---(您应该先创建数据库)
SET AUTOCOMMIT = ON
CREATE DATABASE school;
use school;
DROP TABLE IF EXISTS groups;
CREATE TABLE school.groups(
group_id INTEGER NOT NULL,
group_name VARCHAR(50),
PRIMARY KEY(group_id)
);
希望它能解决您的问题。
推荐阅读
- python - 返回重定向的 SSL 错误(auth.login())
- git - git忽略除一种类型的文件之外的所有文件,任何地方
- typescript - 如何让 Typescript 理解在 value 为 null 时抛出的函数调用后 value 不能为 null
- c# - 列表
> 序列化 - angular - 在 2 个组件之间共享来自服务器的 JSON 数据
- android - 使用 Handler 的执行顺序
- python - 带有 osx 后端的 Matplotlib 3.0
- eclipse - Eclipse 中的黑色工具提示
- windows - Windows,设置自定义协议处理程序名称
- c# - Azure WebJobs:使用不同批量大小的队列触发器