import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Calendar;
public class JavaDBWork {
private final String DATBASE = "myDatabasename";
private final String URL = "jdbc:mysql://localhost:3306/" + DATBASE + "?useSSL=false";
private final String USERNAME = "myUsername";
private final String PASSWORD = "myPassword";
private Connection databaseConnection;
// Main Method to init
public static void main(String[] args) {
// build an javaDBWork with init connection one time
JavaDBWork javaDBWork = new JavaDBWork();
// call methods in javaDBWork you like
javaDBWork.doSomething();
}
public JavaDBWork() {
// create a mysql database connection at init
this.databaseConnection = databaseConnection();
}
private Connection databaseConnection() {
Connection connection = null;
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (Exception exception) {
exception.printStackTrace();
}
return connection;
}
public void doSomething() {
try {
// create a sql date object so we can use it in our INSERT statement
Calendar calendar = Calendar.getInstance();
java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());
// the mysql insert statement
String sql = " insert into users (first_name, last_name, date_created, is_admin, num_points)" + " values (?, ?, ?, ?, ?)";
PreparedStatement preparedStatement = null;
preparedStatement = databaseConnection.prepareStatement(sql);
preparedStatement.setString(1, "Lucky");
preparedStatement.setString(2, "Luke");
...
preparedStatement.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
}
You can do something like this.
Init the database connection one time and hold the connection in a object which you call when you need.
EDIT:
Example when you need connection in another class:
public class MyMainClass {
private JavaDBWork javaDBWork;
// Main Method to init
public static void main(String[] args) {
new MyMainClass();
}
public MyMainClass() {
// build an javaDBWork with init connection one time
javaDBWork = new JavaDBWork();
// call methods in javaDBWork you like
javaDBWork.doSomething();
}
}
public class JavaDBWork {
private final String DATBASE = "myDatabasename";
private final String URL = "jdbc:mysql://localhost:3306/" + DATBASE + "?useSSL=false";
private final String USERNAME = "myUsername";
private final String PASSWORD = "myPassword";
private Connection databaseConnection;
public JavaDBWork() {
// create a mysql database connection at init
this.databaseConnection = databaseConnection();
}
private Connection databaseConnection() {
Connection connection = null;
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (Exception exception) {
exception.printStackTrace();
}
return connection;
}
public void doSomething() {
try {
// create a sql date object so we can use it in our INSERT statement
Calendar calendar = Calendar.getInstance();
java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());
// the mysql insert statement
String sql = " insert into users (first_name, last_name, date_created, is_admin, num_points)" + " values (?, ?, ?, ?, ?)";
PreparedStatement preparedStatement = null;
preparedStatement = databaseConnection.prepareStatement(sql);
preparedStatement.setString(1, "Lucky");
preparedStatement.setString(2, "Luke");
preparedStatement.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
}
}