
com.cucumber.utils.clients.database.SqlClient Maven / Gradle / Ivy
package com.cucumber.utils.clients.database;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SqlClient {
private static int MAX_ROWS = 100;
private Logger log = LogManager.getLogger();
private String url;
private String user;
private String pwd;
private String driverClassName;
private Connection conn;
private PreparedStatement pst;
private String sql;
public SqlClient(String url, String user, String pwd, String driverClassName) {
this.url = url;
this.user = user;
this.pwd = pwd;
this.driverClassName = driverClassName;
try {
Class.forName(driverClassName);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
public void connect() throws SQLException {
conn = DriverManager.getConnection(url, user, pwd);
log.debug("---- DB SETUP ----");
log.debug("Driver: {}", driverClassName);
log.debug("Database url: {}", url);
}
public PreparedStatement prepareStatement(String sql) throws SQLException {
if (conn == null) {
throw new RuntimeException("Connection not initialised");
}
if (pst != null) {
pst.close();
}
this.sql = sql;
pst = conn.prepareStatement(sql);
pst.setMaxRows(MAX_ROWS);
return pst;
}
public void close() throws SQLException {
if (pst != null) {
pst.close();
}
if (conn != null) {
conn.close();
}
}
public List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy