mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-06 16:48:24 +08:00
revert: 撤销争议更改。
This commit is contained in:
parent
27031ed626
commit
4ab839871e
@ -41,6 +41,7 @@ public class QueryTable implements CloneSupport<QueryTable> {
|
||||
this.tableDefHashCode = tableDef.hashCode();
|
||||
this.schema = tableDef.getSchema();
|
||||
this.name = tableDef.getTableName();
|
||||
this.alias = tableDef.getAlias();
|
||||
}
|
||||
|
||||
public QueryTable(String name) {
|
||||
|
||||
@ -24,16 +24,24 @@ import java.io.Serializable;
|
||||
*/
|
||||
public class TableDef implements Serializable {
|
||||
|
||||
private String schema;
|
||||
private final String schema;
|
||||
|
||||
private final String tableName;
|
||||
|
||||
private final String alias;
|
||||
|
||||
public TableDef(String schema, String tableName) {
|
||||
this(schema, tableName, null);
|
||||
}
|
||||
|
||||
public TableDef(String schema, String tableName, String alias) {
|
||||
this.schema = schema;
|
||||
this.tableName = tableName;
|
||||
this.alias = alias;
|
||||
}
|
||||
|
||||
public TableDef(String tableName) {
|
||||
this.tableName = tableName;
|
||||
this(null,tableName, null);
|
||||
}
|
||||
|
||||
public String getTableName() {
|
||||
@ -44,9 +52,15 @@ public class TableDef implements Serializable {
|
||||
return schema;
|
||||
}
|
||||
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
}
|
||||
|
||||
|
||||
public QueryTable as(String alias) {
|
||||
return new QueryTable(schema, tableName, alias);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
package com.mybatisflex.coretest;
|
||||
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.coretest.table.AccountTableDef;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TableDefTest {
|
||||
|
||||
@Test
|
||||
public void testTableDefAlias() {
|
||||
AccountTableDef account1 = AccountTableDef.ACCOUNT;
|
||||
AccountTableDef account2 = AccountTableDef.ACCOUNT.withAlias("a2");
|
||||
String sql = new QueryWrapper().select(account1.AGE, account2.ID)
|
||||
.from(account1)
|
||||
.join(account2).on(account1.ID.eq(account2.ID))
|
||||
.toSQL();
|
||||
System.out.println(sql);
|
||||
String expected = "SELECT `tb_account`.`age`, `a2`.`id` FROM `tb_account` " +
|
||||
"JOIN `tb_account` AS `a2` ON `tb_account`.`id` = `a2`.`id`";
|
||||
Assert.assertEquals(expected, sql);
|
||||
}
|
||||
}
|
||||
@ -136,6 +136,19 @@ public class ContentBuilder {
|
||||
: StrUtil.firstCharToLowerCase(tableInfo.getEntitySimpleName());
|
||||
content.append(" public ").append(tableDefClassName).append("() {\n")
|
||||
.append(" super").append("(\"").append(schema).append("\", \"").append(tableName).append("\");\n")
|
||||
.append(" }\n\n");
|
||||
|
||||
content.append(" public ").append(tableDefClassName).append("(String alias) {\n")
|
||||
.append(" super").append("(\"").append(schema).append("\", \"").append(tableName).append("\",alias);\n")
|
||||
.append(" }\n");
|
||||
|
||||
//alias方法
|
||||
content.append("\n /**\n")
|
||||
.append(" * 创建带别名的tableDef\n")
|
||||
.append(" */\n");
|
||||
content.append(" public ").append(tableDefClassName).append(" withAlias").append("(String alias) {\n")
|
||||
.append(" ").append(tableDefClassName).append(" cloned = new ").append(tableDefClassName).append("(").append("alias").append(");\n")
|
||||
.append(" return cloned;\n")
|
||||
.append(" }\n\n}\n");
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user