mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-29 10:43:06 +08:00
Merge branch 'CodePhiliaX:dev' into dev
This commit is contained in:
@ -5,6 +5,7 @@ import java.io.PrintWriter;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.spi.SqlBuilder;
|
||||
@ -84,7 +85,7 @@ public class RdbDmlExportController {
|
||||
ExportTypeEnum exportType = EasyEnumUtils.getEnum(ExportTypeEnum.class, request.getExportType());
|
||||
String sql;
|
||||
if (exportSize == ExportSizeEnum.CURRENT_PAGE) {
|
||||
sql = request.getSql();
|
||||
sql = request.getOriginalSql() + " LIMIT " + request.getPageSize() + " OFFSET " + (request.getPageNo() - 1) * request.getPageSize();
|
||||
} else {
|
||||
sql = request.getOriginalSql();
|
||||
}
|
||||
@ -154,12 +155,20 @@ public class RdbDmlExportController {
|
||||
SqlBuilder sqlBuilder = Chat2DBContext.getMetaData().getSqlBuilder();
|
||||
try (PrintWriter printWriter = response.getWriter()) {
|
||||
List<String> headerColumns = Lists.newArrayList();
|
||||
List<SQLIdentifierExpr> headers = new ArrayList<>();
|
||||
InsertWrapper insertWrapper = new InsertWrapper();
|
||||
SQLExecutor.getInstance().execute(Chat2DBContext.getConnection(), sql,
|
||||
headerList -> {
|
||||
headerList.forEach(sqlIdentifierExpr -> headerColumns.add(sqlIdentifierExpr.getName()));
|
||||
}
|
||||
, dataList -> {
|
||||
for (String header : headerColumns) {
|
||||
SQLIdentifierExpr expr = new SQLIdentifierExpr(header);
|
||||
expr.setName(header);
|
||||
headers.add(expr);
|
||||
}
|
||||
insertWrapper.setHeaderList(headers);
|
||||
|
||||
SQLInsertStatement sqlInsertStatement = new SQLInsertStatement();
|
||||
sqlInsertStatement.setDbType(dbType);
|
||||
sqlInsertStatement.setTableSource(new SQLExprTableSource(tableName));
|
||||
|
@ -23,6 +23,9 @@ public class DataExportRequest extends DataSourceBaseRequest {
|
||||
*/
|
||||
private String originalSql;
|
||||
|
||||
private Integer pageNo;
|
||||
private Integer pageSize;
|
||||
|
||||
/**
|
||||
* export type
|
||||
*
|
||||
|
Reference in New Issue
Block a user