Skip to content

Commit f092771

Browse files
committed
修复 跨表字段问题
1 parent a78855f commit f092771

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

hsweb-web-dao/hsweb-web-dao-mybatis/src/main/java/org/hsweb/web/mybatis/builder/InsertSqlBuilder.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
11
package org.hsweb.web.mybatis.builder;
22

3+
import org.hsweb.ezorm.core.param.InsertParam;
4+
import org.hsweb.ezorm.rdb.executor.SQL;
35
import org.hsweb.ezorm.rdb.meta.RDBColumnMetaData;
6+
import org.hsweb.ezorm.rdb.meta.RDBTableMetaData;
47
import org.hsweb.ezorm.rdb.render.SqlAppender;
58
import org.hsweb.ezorm.rdb.render.support.simple.SimpleInsertSqlRender;
69

710
/**
811
* @author zhouhao
912
*/
1013
public class InsertSqlBuilder extends SimpleInsertSqlRender {
14+
@Override
15+
public SQL render(RDBTableMetaData metaData, InsertParam param) {
16+
RDBTableMetaData metaDataNew = metaData.clone();
17+
metaDataNew.setDatabaseMetaData(metaData.getDatabaseMetaData());
18+
metaDataNew.getColumns().stream()
19+
.filter(column -> column.getName().contains("."))
20+
.map(RDBColumnMetaData::getName)
21+
.forEach(metaDataNew::removeColumn);
22+
return super.render(metaDataNew, param);
23+
}
24+
1125
@Override
1226
protected SqlAppender getParamString(String paramName, RDBColumnMetaData rdbColumnMetaData) {
1327
return new SqlAppender().add("#{", paramName,

hsweb-web-dao/hsweb-web-dao-mybatis/src/main/java/org/hsweb/web/mybatis/builder/UpdateSqlBuilder.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package org.hsweb.web.mybatis.builder;
22

3+
import org.hsweb.ezorm.core.param.UpdateParam;
4+
import org.hsweb.ezorm.rdb.executor.SQL;
35
import org.hsweb.ezorm.rdb.meta.RDBColumnMetaData;
6+
import org.hsweb.ezorm.rdb.meta.RDBTableMetaData;
47
import org.hsweb.ezorm.rdb.render.SqlAppender;
58
import org.hsweb.ezorm.rdb.render.dialect.Dialect;
69
import org.hsweb.ezorm.rdb.render.support.simple.SimpleUpdateSqlRender;
@@ -12,7 +15,17 @@ public class UpdateSqlBuilder extends SimpleUpdateSqlRender {
1215
public UpdateSqlBuilder(Dialect dialect) {
1316
super(dialect);
1417
}
18+
@Override
19+
public SQL render(RDBTableMetaData metaData, UpdateParam param) {
20+
RDBTableMetaData metaDataNew = metaData.clone();
21+
metaDataNew.setDatabaseMetaData(metaData.getDatabaseMetaData());
1522

23+
metaDataNew.getColumns().stream()
24+
.filter(column -> column.getName().contains("."))
25+
.map(RDBColumnMetaData::getName)
26+
.forEach(metaDataNew::removeColumn);
27+
return super.render(metaDataNew, param);
28+
}
1629
@Override
1730
protected SqlAppender getParamString(String paramName, RDBColumnMetaData rdbColumnMetaData) {
1831
return new SqlAppender().add("#{", paramName,

0 commit comments

Comments
 (0)