เริ่มต้นค่าคงที่ฐานข้อมูล
สร้างชื่อผู้ใช้ฐานข้อมูลคุณสมบัติรหัสผ่าน URL และไดรเวอร์คงที่การ จำกัด การโพลเป็นต้น
// init database constants
// com.mysql.jdbc.Driver
private static final String DATABASE_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/database_name";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
private static final String MAX_POOL = "250"; // set your own limit
เริ่มต้นการเชื่อมต่อและคุณสมบัติ
เมื่อสร้างการเชื่อมต่อแล้วจะเป็นการดีกว่าที่จะจัดเก็บเพื่อนำมาใช้ซ้ำ
// init connection object
private Connection connection;
// init properties object
private Properties properties;
สร้างคุณสมบัติ
วัตถุคุณสมบัติเก็บข้อมูลการเชื่อมต่อตรวจสอบว่ามีการตั้งค่าแล้ว
// create properties
private Properties getProperties() {
if (properties == null) {
properties = new Properties();
properties.setProperty("user", USERNAME);
properties.setProperty("password", PASSWORD);
properties.setProperty("MaxPooledStatements", MAX_POOL);
}
return properties;
}
เชื่อมต่อฐานข้อมูล
ตอนนี้เชื่อมต่อกับฐานข้อมูลโดยใช้ค่าคงที่และคุณสมบัติเริ่มต้น
// connect database
public Connection connect() {
if (connection == null) {
try {
Class.forName(DATABASE_DRIVER);
connection = DriverManager.getConnection(DATABASE_URL, getProperties());
} catch (ClassNotFoundException | SQLException e) {
// Java 7+
e.printStackTrace();
}
}
return connection;
}
ตัดการเชื่อมต่อฐานข้อมูล
เมื่อคุณดำเนินการกับฐานข้อมูลเสร็จแล้วให้ปิดการเชื่อมต่อ
// disconnect database
public void disconnect() {
if (connection != null) {
try {
connection.close();
connection = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
ทุกอย่างเข้าด้วยกัน
ใช้คลาสนี้MysqlConnect
โดยตรงหลังจากเปลี่ยน database_name ชื่อผู้ใช้และรหัสผ่านเป็นต้น
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class MysqlConnect {
// init database constants
private static final String DATABASE_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/database_name";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
private static final String MAX_POOL = "250";
// init connection object
private Connection connection;
// init properties object
private Properties properties;
// create properties
private Properties getProperties() {
if (properties == null) {
properties = new Properties();
properties.setProperty("user", USERNAME);
properties.setProperty("password", PASSWORD);
properties.setProperty("MaxPooledStatements", MAX_POOL);
}
return properties;
}
// connect database
public Connection connect() {
if (connection == null) {
try {
Class.forName(DATABASE_DRIVER);
connection = DriverManager.getConnection(DATABASE_URL, getProperties());
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
return connection;
}
// disconnect database
public void disconnect() {
if (connection != null) {
try {
connection.close();
connection = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
วิธีใช้?
เริ่มต้นคลาสฐานข้อมูล
// !_ note _! this is just init
// it will not create a connection
MysqlConnect mysqlConnect = new MysqlConnect();
ที่อื่นในรหัสของคุณ ...
String sql = "SELECT * FROM `stackoverflow`";
try {
PreparedStatement statement = mysqlConnect.connect().prepareStatement(sql);
... go on ...
... go on ...
... DONE ....
} catch (SQLException e) {
e.printStackTrace();
} finally {
mysqlConnect.disconnect();
}
นี่คือทั้งหมด:)หากมีสิ่งใดที่ต้องปรับปรุงแก้ไข! หวังว่านี่จะเป็นประโยชน์