1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import com.alibaba.fastjson.JSONObject;
- import lombok.Data;
- import org.example.DromaraApplication;
- import org.example.join.model.DefaultFunction;
- import org.example.join.model.QueryColumn;
- import org.example.join.model.QueryColumnField;
- import org.example.join.model.QueryColumnFields;
- import org.example.join.model.Table;
- import org.example.join.model.TableSublist;
- import org.example.join.sql.Sql;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
- import java.util.List;
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = DromaraApplication.class)
- public class MySpringBootTest implements DefaultFunction {
- public static final Table sys_dept = new Table("sys_dept");
- public final QueryColumnField dept_id = sys_dept.field("dept_id");
- public final QueryColumnField tenant_id = sys_dept.field("tenant_id");
- public final QueryColumnField parent_id = sys_dept.field("parent_id");
- public final QueryColumnField ancestors = sys_dept.field("ancestors");
- public final QueryColumnField status = sys_dept.field("status");
- public final QueryColumnFields sysDeptAll = new QueryColumnFields(dept_id, tenant_id, parent_id, ancestors);
- public static final Table sys_user = new Table("sys_user");
- public final QueryColumnField user_id = sys_user.field("user_id");
- public final QueryColumnField user_name = sys_user.field("user_name");
- public final QueryColumnField nick_name = sys_user.field("nick_name");
- public final QueryColumnField sex = sys_user.field("sex");
- public final QueryColumnField create_by = sys_user.field("create_by");
- @Test
- public void testCache() {
- TableSublist childTable = Sql.create()
- .select(
- sysDeptAll,
- status
- )
- .from(sys_dept)
- .tableAs(sys_dept);
- List<TestEntity> list = Sql.create()
- //.logic()
- //.distinct()
- .select(
- dept_id.as("aaa"),
- childTable.field(tenant_id).as("bbb"),
- childTable.field("status").as("ccc"),
- Sql.create().select(groupConcat(new QueryColumn("dept_id order by dept_id asc")).as("deptGroup")).from(sys_dept).as("ddd"),
- new QueryColumn("{0}", "ancestors").as("eee")
- )
- .from(childTable)
- .leftJoin(sys_user).on(childTable.field(dept_id).eq(user_id))
- .where(
- dept_id.in(Sql.create().select(dept_id).from(sys_dept)),
- Sql.create().select(dept_id).from(sys_dept).limit(1).eq(100)
- )
- .orderBy(new QueryColumn("aaa").desc())
- .list(TestEntity.class);
- System.out.println(JSONObject.toJSONString(list));
- }
- @Data
- static class TestEntity {
- String aaa;
- String bbb;
- String ccc;
- String ddd;
- String eee;
- }
- }
|