revert: 撤销争议更改。

This commit is contained in:
Suomm 2024-03-10 15:06:26 +08:00
parent 27031ed626
commit 4ab839871e
4 changed files with 53 additions and 2 deletions

View File

@ -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) {

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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();
}