Zunächst würde ich Ihnen raten, zu lernen, wie man es ohne application.properties macht Datei. Wir leben im 21. Jahrhundert, wo Spring-boot erlaubt uns, jdbc dataSource zu deklarieren als @Bean mit Datenbankanmeldeinformationen in MySpringBootApplication Klasse. Sehen Sie sich hier
an, wie das geht
Zweitens rate ich davon ab, jdbcTemplate zu verwenden es sei denn du hast keine zeit. Merken Sie sich meine Worte, wenn es zum Debuggen kommt - es wäre ein Albtraum. Versuchen Sie also, reines Jdbc mit zusätzlicher Federkonfiguration zu verwenden.
Beispielbeispiel, wie es gemacht wird:
StudentDAO-Schnittstelle
public interface StundentDAO {
void addStudent(String name, String surname);
List<Student> findStudents();
}
JdbcStudentDAO-Implementierung
@Repository
public class JdbcStudentDAO implements StudentDAO {
//[IMPORTANT] import javax.sql.datasource package (?)
private Datasource datasource;
@Autowire
public JdbcStudentDAO(Datasource datasource) {
this.datasource = datasource;
}
@Override
public void addStudent(String name, String surname) {
String query = "INSERT INTO Students VALUES (?,?)";
try(Connection connection = datasource.getConnection()) {
try(PreparedStatement statement = connection.preparedStatement(query)) {
statement.setString(1, name);
statement.setString(2, surname);
statement.executeUpdate();
}
} catch(SQLException e) {
e.printStacktrace();
}
}
@Override
public List<Student> findStudents() {
String query = "SELECT * FROM Students";
Student student = null; //will be used soon as DTO
List<Student> listOfStudents = null;
try(Connection connection = datasource.getConnection()) {
try(PreparedStatement statement = connection.preparedStatement(query)) {
try(ResultSet rs = statement.executeQuery()) {
listOfStudents = new ArrayList<>();
while(rs.next()) {
student = new Student(
rs.getString("name");
rs.getString("surname");
);
}
listOfStudents.add(student);
}
}
} catch(SQLException e) {
e.printStacktrace();
}
return listOfStudents;
}
}
Bitte beachten Sie, dass dataSource macht nur Datenbankkonnektivität. (siehe Link)
Viel Glück!