|
@@ -44,18 +44,76 @@ public class OrderItem implements Serializable {
|
|
|
*/
|
|
|
private boolean asc = true;
|
|
|
|
|
|
+ public OrderItem() {
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @since 3.5.13
|
|
|
+ * @param column 字段
|
|
|
+ * @param asc 是否升序
|
|
|
+ */
|
|
|
+ private OrderItem(String column, boolean asc) {
|
|
|
+ this.column = column;
|
|
|
+ this.asc = asc;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据指定字段升序排序
|
|
|
+ * @param column 数据库字段
|
|
|
+ * @return 排序字段
|
|
|
+ */
|
|
|
public static OrderItem asc(String column) {
|
|
|
return build(column, true);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据指定字段降序排序
|
|
|
+ * @param column 数据库字段
|
|
|
+ * @return 排序字段
|
|
|
+ */
|
|
|
public static OrderItem desc(String column) {
|
|
|
return build(column, false);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据表达式排序
|
|
|
+ * <p>任意表达式语句,自行控制SQL注入</p>
|
|
|
+ * <p>不适用与反序列</p>
|
|
|
+ * @since 3.5.13
|
|
|
+ * @param expression 字段表达式
|
|
|
+ * @return 排序字段
|
|
|
+ */
|
|
|
+ public static OrderItem withExpression(String expression) {
|
|
|
+ return withExpression(expression, false);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据表达式排序
|
|
|
+ * <p>任意表达式语句,自行控制SQL注入</p>
|
|
|
+ * <p>不适用与反序列</p>
|
|
|
+ * @since 3.5.13
|
|
|
+ * @param expression 字段表达式
|
|
|
+ * @param asc 是否正序
|
|
|
+ * @return 排序字段
|
|
|
+ */
|
|
|
+ public static OrderItem withExpression(String expression, boolean asc) {
|
|
|
+ return new OrderItem(expression, asc);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据指定字段列表进行升序排序
|
|
|
+ * @param columns 字段列表
|
|
|
+ * @return 排序字段
|
|
|
+ */
|
|
|
public static List<OrderItem> ascs(String... columns) {
|
|
|
return Arrays.stream(columns).map(OrderItem::asc).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据指定字段列表进行降序排序
|
|
|
+ * @param columns 字段列表
|
|
|
+ * @return 排序字段
|
|
|
+ */
|
|
|
public static List<OrderItem> descs(String... columns) {
|
|
|
return Arrays.stream(columns).map(OrderItem::desc).collect(Collectors.toList());
|
|
|
}
|
|
@@ -65,6 +123,7 @@ public class OrderItem implements Serializable {
|
|
|
}
|
|
|
|
|
|
public OrderItem setColumn(String column) {
|
|
|
+ // TODO 反序列化会到这里被处理,后期重构需要改动
|
|
|
this.column = StringUtils.replaceAllBlank(column);
|
|
|
return this;
|
|
|
}
|