# drawdb-server **Repository Path**: zhengxingne/drawdb-server ## Basic Information - **Project Name**: drawdb-server - **Description**: sql编辑器后端服务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-04-30 - **Last Updated**: 2024-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```java // Mapper继承MPJBaseMapper才能使用Join MPJLambdaWrapper mapper=new MPJLambdaWrapper() // 展示实体类全部字段 .selectAll(DtHistoryRecord.class) // 展示自定义字段 .select(DtHistoryRecord::getId,DtHistoryRecord::getProjectId) // 设置字段别名 .selectAs(User::getName, UserDTO::getNickname) // 展示自定义字段 .select("t.id as twinId","t1.value as twinName") // 表连接需要被连接的库XEasyDtProject, XEasyDtProject::getId必须作为第一个,连接 DtHistoryRecord::getProjectId .leftJoin(XEasyDtProject.class,XEasyDtProject::getId,DtHistoryRecord::getProjectId) // 把数据集合到DtHistoryRecordResponse::getXEasyDtProject当前实体类的字段中,XEasyDtProject被封装的实体类 .selectAssociation(XEasyDtProject.class,DtHistoryRecordResponse::getXEasyDtProject); // 封装到list集合类中 .selectCollection(XEasyDtProject.class,DtHistoryRecordResponse::getXEasyDtProject) // 根据实体类把查询的数据进行封装 dtHistoryRecordMapper.selectJoinList(DtHistoryRecordResponse.class,mapper); ``` ```java MPJLambdaWrapper query = new MPJLambdaWrapper() // 查询字段 .selectAll(DtTwinClassify.class); // DtTwinDefinition 集合的对象必须是实体类的对象否则无法使用 .selectCollection(DtTwinDefinition.class,TwinTreeDataResponse::getList,a->a .collection(DtTwinExample.class,DtTwinDefinitionTreeResponse::getList,b->b .collection(DtTwinExampleData.class,DtTwinExampleTreeResponse::getList))) // 连接方式前一个必须是连接的实体类 .leftJoin(DtTwinDefinition.class,DtTwinDefinition::getDirectoryId,DtTwinClassify::getId) .leftJoin(DtTwinExample.class,DtTwinExample::getDefinitionId,DtTwinDefinition::getId) .leftJoin(DtTwinExampleData.class,DtTwinExampleData::getParentId,DtTwinExample::getId) // 查询条件 .eq(DtTwinExample::getId,twinId); List twinTreeDataResponses= dtTwinClassifyMapper.selectJoinList(TwinTreeDataResponse.class,query); ``` ```java // 分页查询 IPage page = userMapper.selectJoinPage(new Page<>(1, 10), UserDTO.class, new MPJLambdaWrapper<>() .selectAll(UserDO.class) .select(UserAddressDO::getAddress) .leftJoin(UserAddressDO.class, UserAddressDO::getUserId, UserDO::getId) .eq(UserDO::getId, 1)); ```