mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58: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.tableDefHashCode = tableDef.hashCode();
|
||||||
this.schema = tableDef.getSchema();
|
this.schema = tableDef.getSchema();
|
||||||
this.name = tableDef.getTableName();
|
this.name = tableDef.getTableName();
|
||||||
|
this.alias = tableDef.getAlias();
|
||||||
}
|
}
|
||||||
|
|
||||||
public QueryTable(String name) {
|
public QueryTable(String name) {
|
||||||
|
|||||||
@ -24,16 +24,24 @@ import java.io.Serializable;
|
|||||||
*/
|
*/
|
||||||
public class TableDef implements Serializable {
|
public class TableDef implements Serializable {
|
||||||
|
|
||||||
private String schema;
|
private final String schema;
|
||||||
|
|
||||||
private final String tableName;
|
private final String tableName;
|
||||||
|
|
||||||
|
private final String alias;
|
||||||
|
|
||||||
public TableDef(String schema, String tableName) {
|
public TableDef(String schema, String tableName) {
|
||||||
|
this(schema, tableName, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TableDef(String schema, String tableName, String alias) {
|
||||||
this.schema = schema;
|
this.schema = schema;
|
||||||
this.tableName = tableName;
|
this.tableName = tableName;
|
||||||
|
this.alias = alias;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TableDef(String tableName) {
|
public TableDef(String tableName) {
|
||||||
this.tableName = tableName;
|
this(null,tableName, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTableName() {
|
public String getTableName() {
|
||||||
@ -44,9 +52,15 @@ public class TableDef implements Serializable {
|
|||||||
return schema;
|
return schema;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAlias() {
|
||||||
|
return alias;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public QueryTable as(String alias) {
|
public QueryTable as(String alias) {
|
||||||
return new QueryTable(schema, tableName, 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());
|
: StrUtil.firstCharToLowerCase(tableInfo.getEntitySimpleName());
|
||||||
content.append(" public ").append(tableDefClassName).append("() {\n")
|
content.append(" public ").append(tableDefClassName).append("() {\n")
|
||||||
.append(" super").append("(\"").append(schema).append("\", \"").append(tableName).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");
|
.append(" }\n\n}\n");
|
||||||
return content.toString();
|
return content.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user