JdbcResult.java 1022 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package jnpf.database.model.dto;
  2. import lombok.*;
  3. import lombok.experimental.Accessors;
  4. /**
  5. * 类功能
  6. *
  7. * @author JNPF开发平台组 YanYu
  8. * @version v3.4.3
  9. * @copyrignt 引迈信息技术有限公司
  10. * @date 2022-10-20
  11. */
  12. @Data
  13. @Accessors(chain = true)
  14. public class JdbcResult<R> {
  15. /**
  16. * 别名小写开关
  17. */
  18. private Boolean isLowerCase = false;
  19. /**
  20. * 别名开关
  21. */
  22. private Boolean isAlias = false;
  23. /**
  24. * 是查询结构还是查询值
  25. */
  26. private Boolean isValue = true;
  27. @Getter(value = AccessLevel.NONE)
  28. @Setter(value = AccessLevel.NONE)
  29. private MyFunction<JdbcResult<R>, R> func;
  30. public JdbcResult(MyFunction<JdbcResult<R>, R> func){
  31. this.func = func;
  32. }
  33. /**
  34. * 在get的时候才进行查询操作
  35. */
  36. public R get() throws Exception {
  37. return this.func.apply(this);
  38. }
  39. @FunctionalInterface
  40. public static interface MyFunction<T, R>{
  41. R apply(T t) throws Exception;
  42. }
  43. }