package main import ( "encoding/json" "log" "testing" "git.x2erp.com/qdy/go-base/config" "git.x2erp.com/qdy/go-db/factory/database" ) func TestNamedParamsQueryCSV(t *testing.T) { cfg := config.GetConfig() factory := database.CreateDBFactory(cfg) defer factory.Close() // 简化的SQL,只测试3个参数 sql := ` SELECT * FROM ( SELECT a.*, ROWNUM rn FROM ( SELECT CLOTHING_ID, CLOTHING_NAME FROM X6_STOCK_DEV.A3_CLOTHING where clothing_id>:1 ORDER BY CLOTHING_ID ) a WHERE ROWNUM <= :2 ) WHERE rn > :3 ` // // 3个参数 params := []interface{}{ "A", 10, 0, } // // 3个参数 // params := map[string]interface{}{ // "end_row": 10, // "start_row": 0, // } // // 3个参数 // params := map[string]interface{}{ // "clothing_id": "`0`", // "end_row": 10, // "start_row": 0, // } // 执行查询 result := factory.QueryPositionalToJSON(sql, params, nil) // 将请求参数输出为格式化的 JSON 日志 reqJSON, err := json.MarshalIndent(result, "", " ") if err != nil { log.Printf("无法序列化请求参数: %v", err) } else { log.Printf("QueryRequest 参数:\n%s", string(reqJSON)) } // 或者使用 fmt 输出 //fmt.Printf("=== QueryRequest ===\n%s\n====================\n", string(reqJSON)) }