30
30
31
31
/**
32
32
* @author zhouhao
33
- * @TODO
34
33
*/
35
34
public class EasyOrmSqlBuilder {
36
35
@@ -148,8 +147,8 @@ public String buildUpdateFields(String resultMapId, String tableName, UpdatePara
148
147
SqlAppender appender = new SqlAppender ();
149
148
columns .forEach (column -> {
150
149
RDBColumnMetaData columnMetaData = column .getRDBColumnMetaData ();
151
- if (columnMetaData .getName ().contains ("." )) return ;
152
150
if (columnMetaData == null ) return ;
151
+ if (columnMetaData .getName ().contains ("." )) return ;
153
152
try {
154
153
Object tmp = propertyUtils .getProperty (param .getData (), columnMetaData .getAlias ());
155
154
if (tmp == null ) return ;
@@ -219,16 +218,15 @@ public String buildSelectFields(String resultMapId, String tableName, QueryParam
219
218
public String buildOrder (String resultMapId , String tableName , QueryParam param ) {
220
219
RDBTableMetaData tableMetaData = createMeta (tableName , resultMapId );
221
220
SqlAppender appender = new SqlAppender (" order by " );
222
- param .getSorts ().stream ()
223
- .forEach (sort -> {
224
- RDBColumnMetaData column = tableMetaData .getColumn (sort .getName ());
225
- if (column == null )
226
- column = tableMetaData .findColumn (sort .getName ());
227
- if (column == null ) return ;
228
- String cname = column .getName ();
229
- if (!cname .contains ("." )) cname = tableName .concat ("." ).concat (cname );
230
- appender .add (encodeColumn (tableMetaData .getDatabaseMetaData ().getDialect (), cname ), " " , sort .getOrder (), "," );
231
- });
221
+ param .getSorts ().forEach (sort -> {
222
+ RDBColumnMetaData column = tableMetaData .getColumn (sort .getName ());
223
+ if (column == null )
224
+ column = tableMetaData .findColumn (sort .getName ());
225
+ if (column == null ) return ;
226
+ String cname = column .getName ();
227
+ if (!cname .contains ("." )) cname = tableName .concat ("." ).concat (cname );
228
+ appender .add (encodeColumn (tableMetaData .getDatabaseMetaData ().getDialect (), cname ), " " , sort .getOrder (), "," );
229
+ });
232
230
if (appender .isEmpty ()) return "" ;
233
231
appender .removeLast ();
234
232
return appender .toString ();
@@ -242,6 +240,14 @@ public String buildWhereForUpdate(String resultMapId, String tableName, List<Ter
242
240
return where ;
243
241
}
244
242
243
+ public String buildQuerySql (String resultMapId , String tableName , Object param ) {
244
+ Pager .reset (); //不使用插件进行分页
245
+ RDBTableMetaData tableMetaData = createMeta (tableName , resultMapId );
246
+ RDBDatabaseMetaData databaseMetaDate = getActiveDatabase ();
247
+ CommonSqlRender render = (CommonSqlRender ) databaseMetaDate .getRenderer (SqlRender .TYPE .SELECT );
248
+ return render .render (tableMetaData , param ).getSql ();
249
+ }
250
+
245
251
public String buildWhere (String resultMapId , String tableName , List <Term > terms ) {
246
252
RDBTableMetaData tableMetaData = createMeta (tableName , resultMapId );
247
253
RDBDatabaseMetaData databaseMetaDate = getActiveDatabase ();
0 commit comments