В моем проекте мне приходится использовать базу данных довольно часто, и я решил создать интерфейс, а затем реализовать его в разных классах, поскольку все они будут использовать одни и те же методы.
public interface Project<E> {
void createTable();
void insert(E obj);
E select(int id);
void delete(int id);
void update(E obj, int id);
}
Я пытаюсьреализовать его в одном из моих классов, как показано ниже:
public class Person implements Project {
//createTable method
//select method
//delete method
public void insert(Person p) {
Connection connection = null;
PreparedStatement ppStm = null;
try {
connection = ConnectionConfiguration.getConnection();
ppStm = connection.prepareStatement("INSERT INTO person (first_name, last_name)"
+ "VALUES (?,?,?)");
ppStm.setString(1, p.getName());
ppStm.setString(2, p.getLname());
ppStm.executeUpdate();
} catch(Exception e) {
e.printStackTrace();
} finally {
if (ppStm != null){
try {
ppStm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//update method similar to insert();
}
Проблема заключается в том, что когда я пытаюсь переопределить методы insert () и update (), отображается сообщение об ошибке "метод долженпереопределить или реализовать метод супертипа ".Я использовал дженерики, так как думал, что это будет работать в моем коде, потому что у меня есть разные классы разных объектов для его реализации, но я не понимаю правильную реализацию, я думаю.Я хотел бы знать, как я могу изменить свой интерфейс или его реализацию в моих классах, чтобы он мог работать.Также, когда я удаляю @Override, он удаляет ошибку, но все равно показывает, что я не реализую все методы.Заранее спасибо.