Ich habe eine DAO-Schicht in meinem Projekt. Hier ist meine UsersDao Schnittstelle und es ist Implementierung UsersDaoImplWie mache ich Transaktionen in Service Layer
public interface UsersDao {
public Users insert(Users object);
}
public class UsersDaoImpl implements UsersDao {
@Override
public Users insert(Users object) {
String sqlQuery = null;
PreparedStatement stmt = null;
try (Connection connection = DbConnector.getConnection()) {
sqlQuery = "INSERT INTO `users`(login, password,passwordSalt, name, surname)" + " values (?, ?,?,?,?);";
stmt = connection.prepareStatement(sqlQuery);
stmt.setString(1, "fsf");
stmt.setString(2, "f");
stmt.setString(3, "af");
stmt.setString(4, "fddsg");
stmt.setString(5, "sdgsgd");
stmt.executeUpdate();
stmt.close();
return object;
} catch (SQLException e) {
System.err.println(e.getMessage());
return null;
}
}
Hier ist meine Dienst Schicht Klassen und Schnittstellen.
Was muss ich in meine Service-Methode schreiben, dass ich einen Rollback machen könnte, wenn die Ausnahme abgefangen wird? Wie schreibe ich Transaktion in meiner Service-Methode korrekt? Können Sie mir einige Beispiele zeigen? Danke!
In Java EE, verwenden Sie in der Regel EJB dafür. Ist das in Ihrer Umgebung verfügbar? Weil die Tatsache, dass Sie JDBC-Boilerplate anstelle von JPA oneliner verwenden, stark darauf hinweist, dass Sie einen Barebone-Servletcontainer wie Tomcat anstelle eines normalen Java EE-Servers verwenden. – BalusC