私のプロジェクトにはDAOレイヤがあります。ここに私のUsersDaoインタフェースであり、それはサービス層でのトランザクションの作成方法
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;
}
}
UsersDaoImpl実装だ。ここに私サービス層のクラスとインタフェースです。
public interface UsersService{
public Users insert(Users object);
}
public class UsersServiceImpl implements UsersService{
UsersDaoImpl users = new UsersDaoImpl();
public Users insert(Users object){
return users.insert(object);
}
例外がキャッチされたときに私がロールバックできるサービスメソッドに書きたいものは何ですか?私のサービス方法でトランザクションを書き込むにはどうすればいいですか?いくつかの例を教えていただけますか?ありがとう!
を見て、あなたは通常、そのためにEJBを使用して使用する場合。これはあなたの環境で利用可能ですか?なぜならJPA onelinerの代わりにJDBCの定型文を使用しているという事実は、通常のJava EEサーバではなくTomcatのようなベアボーンサーブレットコンテナを使用していることを強く示唆しているからです。 – BalusC