Run SQL Script file using Java JDBC Code Example


Read SQL Script file using Java JDBC

If you have a SQL script file and you want to run it using Java code, you can do that using JDBC,

Script File: sqlScript.sql
Select * from students;
Select * from students where student_name="Mike";
Select * from students where student_address="Ohio";

Example:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

public class JDBCReadScriptExample {
    
    public static void main(String[] args) throws ClassNotFoundException, SQLException, IOException {

        String url ="jdbc:mysql://localhost:3306/my_uat";
        String userName="root";
        String password ="root123";
        Connection connection = DriverManager.getConnection(url,userName,password);
        Statement statement = connection.createStatement();
        Path sqlScriptPath = Paths.get("/Users/code2care/my-projects-22/java-examples/sqlScript.sql");
        List<String> sqlScript = Files.readAllLines(sqlScriptPath);

        for(String script: sqlScript) {
           ResultSet resultSet =  statement.executeQuery(script);
           System.out.println("Query: " + script);

           while(resultSet.next()) {
            System.out.println(resultSet.getInt(1)+"\t"+
                resultSet.getString(2)+"\t"+
                resultSet.getString(3)+"\t"+
                resultSet.getString(4));
           }
           System.out.println("");
        }
    }
}
Output:

Query: Select * from students;
1 Mike 2001-07-22 00:00:00 New York City
2 Alex 2002-08-13 00:00:00 Chicago
3 Sam 2022-01-25 00:00:00 Ohio
4 Andy 2001-10-10 00:00:00 Japan
5 Andrew 1999-07-21 00:00:00 Ohio
6 Chris 1998-11-18 10:20:10 Ohio
7 Huge 2022-09-06 18:59:47 Ohio

Query: Select * from students where student_name="Mike";
1 Mike 2001-07-22 00:00:00 New York City

Query: Select * from students where student_address="Ohio";
3 Sam 2022-01-25 00:00:00 Ohio
5 Andrew 1999-07-21 00:00:00 Ohio
6 Chris 1998-11-18 10:20:10 Ohio
7 Huge 2022-09-06 18:59:47 Ohio

-

Facing issues? Have Questions? Post them here! I am happy to answer!


Author Info:

Rakesh (He/Him) is a seasoned developer with over 10 years of experience in web and app development, and a deep knowledge of operating systems. Author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap