!369 feat: 添加原生 FROM 支持。

Merge pull request !369 from 王帅/main
This commit is contained in:
Michael Yang 2023-10-16 22:51:04 +00:00 committed by Gitee
commit aff3bd93db
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com).
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.mybatisflex.core.query;
import com.mybatisflex.core.dialect.IDialect;
/**
* @author 王帅
* @since 2023-10-16
*/
public class RawQueryTable extends QueryTable {
private final String content;
public RawQueryTable(String content) {
this.content = content;
}
@Override
public String toSql(IDialect dialect) {
return this.content;
}
}

View File

@ -19,6 +19,7 @@ package com.mybatisflex.test.common;
import com.mybatisflex.core.query.CPI; import com.mybatisflex.core.query.CPI;
import com.mybatisflex.core.query.QueryCondition; import com.mybatisflex.core.query.QueryCondition;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.query.RawQueryTable;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -91,4 +92,13 @@ class QueryWrapperTest {
Assertions.assertTrue(contained); Assertions.assertTrue(contained);
} }
@Test
void test04() {
QueryWrapper queryWrapper = QueryWrapper.create()
.select("a.*")
.from(new RawQueryTable("(select * from app) as a"));
System.out.println(queryWrapper.toSQL());
}
} }