首页 > 解决方案 > 如何运行 .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);

但表没有生成。我究竟做错了什么?

标签: javapostgresqljdbc

解决方案


在您的 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)
);

希望它能解决您的问题。


推荐阅读