在学习JDBC的过程中,我在下面创建了接口和类,以便在将来使用时轻松编程。我相信仍然有可能比这更简单。我的程序所做的是通过提供Query String而不是像加载驱动程序类,创建Connection和Statement对象以及从中获取结果等所有过程来获取结果。有没有更简单的方法可以做到这一点并在未来增强功能?
MyConnection.java ----界面
package com.cherukuri.jdbc;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public interface MyConnection {
public static String DRIVER = "com.mysql.jdbc.Driver";
public static String DB_URL = "jdbc:mysql://localhost:3305/STUDENTS";
public static String USER = "root";
public static String PASSWORD = “********";
default void loadDriver() {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
public Connection getConnection();
public Statement getStatement();
}
DataBaseConnection.java
package com.cherukuri.jdbc;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public class DataBaseConnection implements MyConnection {
Connection connection = null;
Statement statement = null;
@Override
public Connection getConnection() {
try {
connection = (Connection) DriverManager.getConnection(DB_URL, USER,
PASSWORD);
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return connection;
}
@Override
public Statement getStatement() {
connection = getConnection();
try {
statement = (Statement) connection.createStatement();
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return statement;
}
public ResultSet runQuery(String Query) {
ResultSet resultSet = null;
statement = getStatement();
try {
resultSet = statement.executeQuery(Query);
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return resultSet;
}
}
TestBaseConnection.java
package com.cherukuri.jdbc;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestDataBaseConnection {
public static void main(String[] args) {
DataBaseConnection dbcon = new DataBaseConnection();
ResultSet rs = dbcon.runQuery("Select * from tblStudent");
try {
while (rs.next()) {
System.out.println(rs.getInt(1) + " ------------------- "
+ rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}