sqlUtils.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * @Author: zou.yingbin
  3. * @Create : 2021/1/29 9:30
  4. * @Modify : 2021/1/29 9:30
  5. */
  6. package utils
  7. import "fmt"
  8. // sql辅助构建工具
  9. type SQLVal string
  10. // 返回自身字符串
  11. func (r *SQLVal) String() string {
  12. return string(*r)
  13. }
  14. // 增加and 条件
  15. func (r *SQLVal) And(fieldName string, val interface{}) {
  16. *r = *r + SQLVal(fmt.Sprintf(" and %v = %v", fieldName, val))
  17. }
  18. // 大于
  19. func (r *SQLVal) Bigger(fieldName string, val interface{}) {
  20. *r = *r + SQLVal(fmt.Sprintf(" and %v > %v", fieldName, val))
  21. }
  22. // 大于等于
  23. func (r *SQLVal) BiggerOrEq(fieldName string, val interface{}) {
  24. *r = *r + SQLVal(fmt.Sprintf(" and %v >= %v", fieldName, val))
  25. }
  26. // 小于等于
  27. func (r *SQLVal) Less(fieldName string, val interface{}) {
  28. *r = *r + SQLVal(fmt.Sprintf(" and %v < %v", fieldName, val))
  29. }
  30. // 小于等于
  31. func (r *SQLVal) LessOrEq(fieldName string, val interface{}) {
  32. *r = *r + SQLVal(fmt.Sprintf(" and %v <= %v", fieldName, val))
  33. }
  34. // 自由增加条件
  35. func (r *SQLVal) Join(condition string) {
  36. *r = *r + SQLVal(condition)
  37. }