Я должен инкапсулировать свой доступ к базе данных Oracle в один java класс, называемый dbconf:
package DB_Oracle_Connection;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class dbconf {
private String connstr;
private Connection connect;
private PreparedStatement prepstat = null;
public Connection getConnection() throws SQLException {
connstr = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
String uname = "fred";
String pass = "flintstone";
Class.forName("oracle.jdbc.driver.OracleDriver");
connect = DriverManager.getConnection(connstr, uname, pass);
} catch (Exception e) {
System.out.println(e.toString());
}
if (connect != null) {
System.out.println("Connected to the database!");
} else {
System.out.println("Failed to make connection!");
}
return connect;
}
public PreparedStatement prepareStatement (Connection conn,String sql_code)
throws SQLException {
prepstat = conn.prepareStatement(sql_code);
return prepstat;
}
}
Во втором java классе DB_Oracle_Insert_Statement я вызываю dbconf.
package DB_Oracle_Connection;
import DB_Oracle_Connection.dbconf;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class DB_Oracle_Insert_Statement {
public static void main(String[] args) {
try {
dbconf connect = new dbconf();
// create our java preparedstatement using a sql update query
PreparedStatement ps = connect.prepareStatement((Connection) connect, "INSERT INTO MKR_TEST1 VALUES ( ?, ?, ? , ?)");
System.out.format("INSERT MKR_TEST1 VORNAME, NACHNAME, ADRESSE\n");
// set the preparedstatement parameters
ps.setString(1,"zzzzzVORNAME");
ps.setString(2,"zzzzzNACHNAME");
ps.setString(3,"zzzzADRESSE");
ps.setString(4,"11");
// call executeUpdate to execute our sql update statement
ps.executeUpdate();
//System.out.format("COMMIT\n");
//PreparedStatement ps1 = connect.prepareStatement(
// "COMMIT");
// call executeUpdate to execute our commit statement
//ps1.executeUpdate();
ps.close();
}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}
Мой компилятор eclpise говорит, что с моим кодом все в порядке. Но когда я выполняю свой код, получаю исключение!
класс DB_Oracle_Connection.dbconf не может быть приведен к классу java. sql .Connection (DB_Oracle_Connection.dbconf находится в модуле DB_Oracle_Connection загрузчика 'app'; java. sql .Connection находится в модуле java. sql загрузчика «платформа»)
Как мне исправить проблему в моем коде?