JdbcCreUpDel.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package jnpf.database.model.interfaces;
  2. import jnpf.exception.DataException;
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. import java.util.List;
  7. /**
  8. * 类功能
  9. *
  10. * @author JNPF开发平台组 YanYu
  11. * @version V3.4.2
  12. * @copyright 引迈信息技术有限公司
  13. * @date 2022/8/17 0017
  14. */
  15. @FunctionalInterface
  16. public interface JdbcCreUpDel<T> {
  17. T execute() throws SQLException;
  18. /**
  19. * 参数配置
  20. */
  21. static void setData(PreparedStatement preparedStatement, List<?> data) throws SQLException {
  22. if(data != null){
  23. for (int i = 0; i < data.size(); i++) {
  24. preparedStatement.setObject(i + 1, data.get(i));
  25. }
  26. }
  27. }
  28. static <T>T get(Connection conn, JdbcCreUpDel<T> creUpDel) throws SQLException {
  29. try{
  30. conn.setAutoCommit(false);
  31. T result= creUpDel.execute();
  32. conn.commit();
  33. return result;
  34. } catch (SQLException e) {
  35. //捕捉回滚操作
  36. throw DataException.rollbackDataException(e, conn);
  37. }
  38. }
  39. }