MySpringBootTest.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import com.alibaba.fastjson.JSONObject;
  2. import lombok.Data;
  3. import org.example.DromaraApplication;
  4. import org.example.join.model.DefaultFunction;
  5. import org.example.join.model.QueryColumn;
  6. import org.example.join.model.QueryColumnField;
  7. import org.example.join.model.QueryColumnFields;
  8. import org.example.join.model.Table;
  9. import org.example.join.model.TableSublist;
  10. import org.example.join.sql.Sql;
  11. import org.junit.Test;
  12. import org.junit.runner.RunWith;
  13. import org.springframework.boot.test.context.SpringBootTest;
  14. import org.springframework.test.context.junit4.SpringRunner;
  15. import java.util.List;
  16. @RunWith(SpringRunner.class)
  17. @SpringBootTest(classes = DromaraApplication.class)
  18. public class MySpringBootTest implements DefaultFunction {
  19. public static final Table sys_dept = new Table("sys_dept");
  20. public final QueryColumnField dept_id = sys_dept.field("dept_id");
  21. public final QueryColumnField tenant_id = sys_dept.field("tenant_id");
  22. public final QueryColumnField parent_id = sys_dept.field("parent_id");
  23. public final QueryColumnField ancestors = sys_dept.field("ancestors");
  24. public final QueryColumnField status = sys_dept.field("status");
  25. public final QueryColumnFields sysDeptAll = new QueryColumnFields(dept_id, tenant_id, parent_id, ancestors);
  26. public static final Table sys_user = new Table("sys_user");
  27. public final QueryColumnField user_id = sys_user.field("user_id");
  28. public final QueryColumnField user_name = sys_user.field("user_name");
  29. public final QueryColumnField nick_name = sys_user.field("nick_name");
  30. public final QueryColumnField sex = sys_user.field("sex");
  31. public final QueryColumnField create_by = sys_user.field("create_by");
  32. @Test
  33. public void testCache() {
  34. TableSublist childTable = Sql.create()
  35. .select(
  36. sysDeptAll,
  37. status
  38. )
  39. .from(sys_dept)
  40. .tableAs(sys_dept);
  41. List<TestEntity> list = Sql.create()
  42. //.logic()
  43. //.distinct()
  44. .select(
  45. dept_id.as("aaa"),
  46. childTable.field(tenant_id).as("bbb"),
  47. childTable.field("status").as("ccc"),
  48. Sql.create().select(groupConcat(new QueryColumn("dept_id order by dept_id asc")).as("deptGroup")).from(sys_dept).as("ddd"),
  49. new QueryColumn("{0}", "ancestors").as("eee")
  50. )
  51. .from(childTable)
  52. .leftJoin(sys_user).on(childTable.field(dept_id).eq(user_id))
  53. .where(
  54. dept_id.in(Sql.create().select(dept_id).from(sys_dept)),
  55. Sql.create().select(dept_id).from(sys_dept).limit(1).eq(100)
  56. )
  57. .orderBy(new QueryColumn("aaa").desc())
  58. .list(TestEntity.class);
  59. System.out.println(JSONObject.toJSONString(list));
  60. }
  61. @Data
  62. static class TestEntity {
  63. String aaa;
  64. String bbb;
  65. String ccc;
  66. String ddd;
  67. String eee;
  68. }
  69. }