@@ -686,6 +686,16 @@ public OrCriteria<T> andCondition(String condition, Object value) {
686686 return this ;
687687 }
688688
689+ /**
690+ * 指定字段为 null
691+ *
692+ * @param useCondition 表达式条件, true 使用,false 不使用
693+ * @param fn 字段对应的 get 方法引用
694+ */
695+ public OrCriteria <T > isNull (boolean useCondition , Fn <T , Object > fn ) {
696+ return useCondition ? isNull (fn ) : this ;
697+ }
698+
689699 /**
690700 * 指定字段为 null
691701 *
@@ -696,6 +706,16 @@ public OrCriteria<T> isNull(Fn<T, Object> fn) {
696706 return this ;
697707 }
698708
709+ /**
710+ * 指定字段不为 null
711+ *
712+ * @param useCondition 表达式条件, true 使用,false 不使用
713+ * @param fn 字段对应的 get 方法引用
714+ */
715+ public OrCriteria <T > isNotNull (boolean useCondition , Fn <T , Object > fn ) {
716+ return useCondition ? isNotNull (fn ) : this ;
717+ }
718+
699719 /**
700720 * 指定字段不为 null
701721 *
@@ -706,6 +726,17 @@ public OrCriteria<T> isNotNull(Fn<T, Object> fn) {
706726 return this ;
707727 }
708728
729+ /**
730+ * 字段 = 值
731+ *
732+ * @param useCondition 表达式条件, true 使用,false 不使用
733+ * @param fn 字段对应的 get 方法引用
734+ * @param value 值
735+ */
736+ public OrCriteria <T > eq (boolean useCondition , Fn <T , Object > fn , Object value ) {
737+ return useCondition ? eq (fn , value ) : this ;
738+ }
739+
709740 /**
710741 * 字段 = 值
711742 *
@@ -717,6 +748,17 @@ public OrCriteria<T> eq(Fn<T, Object> fn, Object value) {
717748 return this ;
718749 }
719750
751+ /**
752+ * 字段 != 值
753+ *
754+ * @param useCondition 表达式条件, true 使用,false 不使用
755+ * @param fn 字段对应的 get 方法引用
756+ * @param value 值
757+ */
758+ public OrCriteria <T > ne (boolean useCondition , Fn <T , Object > fn , Object value ) {
759+ return useCondition ? ne (fn , value ) : this ;
760+ }
761+
720762 /**
721763 * 字段 != 值
722764 *
@@ -728,6 +770,18 @@ public OrCriteria<T> ne(Fn<T, Object> fn, Object value) {
728770 return this ;
729771 }
730772
773+ /**
774+ * 字段 > 值
775+ *
776+ * @param useCondition 表达式条件, true 使用,false 不使用
777+ * @param fn 字段对应的 get 方法引用
778+ * @param value 值
779+ */
780+ public OrCriteria <T > gt (boolean useCondition , Fn <T , Object > fn , Object value ) {
781+ return useCondition ? gt (fn , value ) : this ;
782+ }
783+
784+
731785 /**
732786 * 字段 > 值
733787 *
@@ -739,6 +793,17 @@ public OrCriteria<T> gt(Fn<T, Object> fn, Object value) {
739793 return this ;
740794 }
741795
796+ /**
797+ * 字段 >= 值
798+ *
799+ * @param useCondition 表达式条件, true 使用,false 不使用
800+ * @param fn 字段对应的 get 方法引用
801+ * @param value 值
802+ */
803+ public OrCriteria <T > ge (boolean useCondition , Fn <T , Object > fn , Object value ) {
804+ return useCondition ? ge (fn , value ) : this ;
805+ }
806+
742807 /**
743808 * 字段 >= 值
744809 *
@@ -750,6 +815,18 @@ public OrCriteria<T> ge(Fn<T, Object> fn, Object value) {
750815 return this ;
751816 }
752817
818+ /**
819+ * 字段 < 值
820+ *
821+ * @param useCondition 表达式条件, true 使用,false 不使用
822+ * @param fn 字段对应的 get 方法引用
823+ * @param value 值
824+ */
825+ public OrCriteria <T > lt (boolean useCondition , Fn <T , Object > fn , Object value ) {
826+ return useCondition ? lt (fn , value ) : this ;
827+ }
828+
829+
753830 /**
754831 * 字段 < 值
755832 *
@@ -761,6 +838,17 @@ public OrCriteria<T> lt(Fn<T, Object> fn, Object value) {
761838 return this ;
762839 }
763840
841+ /**
842+ * 字段 <= 值
843+ *
844+ * @param useCondition 表达式条件, true 使用,false 不使用
845+ * @param fn 字段对应的 get 方法引用
846+ * @param value 值
847+ */
848+ public OrCriteria <T > le (boolean useCondition , Fn <T , Object > fn , Object value ) {
849+ return useCondition ? le (fn , value ) : this ;
850+ }
851+
764852 /**
765853 * 字段 <= 值
766854 *
@@ -772,6 +860,18 @@ public OrCriteria<T> le(Fn<T, Object> fn, Object value) {
772860 return this ;
773861 }
774862
863+ /**
864+ * 字段 in (值集合)
865+ *
866+ * @param useCondition 表达式条件, true 使用,false 不使用
867+ * @param fn 字段对应的 get 方法引用
868+ * @param values 值集合
869+ */
870+ @ SuppressWarnings ("rawtypes" )
871+ public OrCriteria <T > in (boolean useCondition , Fn <T , Object > fn , Iterable values ) {
872+ return useCondition ? in (fn , values ) : this ;
873+ }
874+
775875 /**
776876 * 字段 in (值集合)
777877 *
@@ -784,6 +884,18 @@ public OrCriteria<T> in(Fn<T, Object> fn, Iterable values) {
784884 return this ;
785885 }
786886
887+ /**
888+ * 字段 not in (值集合)
889+ *
890+ * @param useCondition 表达式条件, true 使用,false 不使用
891+ * @param fn 字段对应的 get 方法引用
892+ * @param values 值集合
893+ */
894+ @ SuppressWarnings ("rawtypes" )
895+ public OrCriteria <T > notIn (boolean useCondition , Fn <T , Object > fn , Iterable values ) {
896+ return useCondition ? notIn (fn , values ) : this ;
897+ }
898+
787899 /**
788900 * 字段 not in (值集合)
789901 *
@@ -796,6 +908,18 @@ public OrCriteria<T> notIn(Fn<T, Object> fn, Iterable values) {
796908 return this ;
797909 }
798910
911+ /**
912+ * 字段 between value1 and value 2
913+ *
914+ * @param useCondition 表达式条件, true 使用,false 不使用
915+ * @param fn 字段对应的 get 方法引用
916+ * @param value1 值1
917+ * @param value2 值2
918+ */
919+ public OrCriteria <T > between (boolean useCondition , Fn <T , Object > fn , Object value1 , Object value2 ) {
920+ return useCondition ? between (fn , value1 , value2 ) : this ;
921+ }
922+
799923 /**
800924 * 字段 between value1 and value 2
801925 *
@@ -808,6 +932,19 @@ public OrCriteria<T> between(Fn<T, Object> fn, Object value1, Object value2) {
808932 return this ;
809933 }
810934
935+ /**
936+ * 字段 not between value1 and value 2
937+ *
938+ * @param useCondition 表达式条件, true 使用,false 不使用
939+ * @param fn 字段对应的 get 方法引用
940+ * @param value1 值1
941+ * @param value2 值2
942+ */
943+ public OrCriteria <T > notBetween (boolean useCondition , Fn <T , Object > fn , Object value1 , Object value2 ) {
944+ return useCondition ? notBetween (fn , value1 , value2 ) : this ;
945+ }
946+
947+
811948 /**
812949 * 字段 not between value1 and value 2
813950 *
@@ -820,6 +957,17 @@ public OrCriteria<T> notBetween(Fn<T, Object> fn, Object value1, Object value2)
820957 return this ;
821958 }
822959
960+ /**
961+ * 字段 like %值%
962+ *
963+ * @param useCondition 表达式条件, true 使用,false 不使用
964+ * @param fn 字段对应的 get 方法引用
965+ * @param value 值,两侧自动添加 %
966+ */
967+ public OrCriteria <T > contains (boolean useCondition , Fn <T , Object > fn , String value ) {
968+ return useCondition ? contains (fn , value ) : this ;
969+ }
970+
823971 /**
824972 * 字段 like %值%
825973 *
@@ -831,6 +979,17 @@ public OrCriteria<T> contains(Fn<T, Object> fn, String value) {
831979 return this ;
832980 }
833981
982+ /**
983+ * 字段 like 值%,匹配 value 为前缀的值
984+ *
985+ * @param useCondition 表达式条件, true 使用,false 不使用
986+ * @param fn 字段对应的 get 方法引用
987+ * @param value 值,右侧自动添加 %
988+ */
989+ public OrCriteria <T > startsWith (boolean useCondition , Fn <T , Object > fn , String value ) {
990+ return useCondition ? startsWith (fn , value ) : this ;
991+ }
992+
834993 /**
835994 * 字段 like 值%,匹配 value 为前缀的值
836995 *
@@ -842,6 +1001,17 @@ public OrCriteria<T> startsWith(Fn<T, Object> fn, String value) {
8421001 return this ;
8431002 }
8441003
1004+ /**
1005+ * 字段 like %值,匹配 value 为后缀的值
1006+ *
1007+ * @param useCondition 表达式条件, true 使用,false 不使用
1008+ * @param fn 字段对应的 get 方法引用
1009+ * @param value 值,左侧自动添加 %
1010+ */
1011+ public OrCriteria <T > endsWith (boolean useCondition , Fn <T , Object > fn , String value ) {
1012+ return useCondition ? endsWith (fn , value ) : this ;
1013+ }
1014+
8451015 /**
8461016 * 字段 like %值,匹配 value 为后缀的值
8471017 *
@@ -853,6 +1023,17 @@ public OrCriteria<T> endsWith(Fn<T, Object> fn, String value) {
8531023 return this ;
8541024 }
8551025
1026+ /**
1027+ * 字段 like 值
1028+ *
1029+ * @param useCondition 表达式条件, true 使用,false 不使用
1030+ * @param fn 字段对应的 get 方法引用
1031+ * @param value 值,需要指定 '%'(多个), '_'(单个) 模糊匹配
1032+ */
1033+ public OrCriteria <T > like (boolean useCondition , Fn <T , Object > fn , String value ) {
1034+ return useCondition ? like (fn , value ) : this ;
1035+ }
1036+
8561037 /**
8571038 * 字段 like 值
8581039 *
@@ -864,6 +1045,17 @@ public OrCriteria<T> like(Fn<T, Object> fn, String value) {
8641045 return this ;
8651046 }
8661047
1048+ /**
1049+ * 字段 not like 值
1050+ *
1051+ * @param useCondition 表达式条件, true 使用,false 不使用
1052+ * @param fn 字段对应的 get 方法引用
1053+ * @param value 值,需要指定 % 模糊匹配
1054+ */
1055+ public OrCriteria <T > notLike (boolean useCondition , Fn <T , Object > fn , String value ) {
1056+ return useCondition ? notLike (fn , value ) : this ;
1057+ }
1058+
8671059 /**
8681060 * 字段 not like 值
8691061 *
@@ -875,6 +1067,16 @@ public OrCriteria<T> notLike(Fn<T, Object> fn, String value) {
8751067 return this ;
8761068 }
8771069
1070+ /**
1071+ * 添加任意条件,条件一定是后端使用的,需要自己防止 SQL 注入
1072+ *
1073+ * @param useCondition 表达式条件, true 使用,false 不使用
1074+ * @param condition 任意条件,例如 "length(countryname)<5"
1075+ */
1076+ public OrCriteria <T > anyCondition (boolean useCondition , String condition ) {
1077+ return useCondition ? anyCondition (condition ) : this ;
1078+ }
1079+
8781080 /**
8791081 * 添加任意条件,条件一定是后端使用的,需要自己防止 SQL 注入
8801082 *
@@ -885,6 +1087,17 @@ public OrCriteria<T> anyCondition(String condition) {
8851087 return this ;
8861088 }
8871089
1090+ /**
1091+ * 手写左边条件,右边用value值
1092+ *
1093+ * @param useCondition 表达式条件, true 使用,false 不使用
1094+ * @param condition 例如 "length(countryname)="
1095+ * @param value 例如 5
1096+ */
1097+ public OrCriteria <T > anyCondition (boolean useCondition , String condition , Object value ) {
1098+ return useCondition ? anyCondition (condition , value ) : this ;
1099+ }
1100+
8881101 /**
8891102 * 手写左边条件,右边用value值
8901103 *
0 commit comments