我必須從我的應用程序生成報告, 首先用戶選擇他的搜索條件,然後他驗證他的選擇(搜索條件:圖表類型,分組等等) 我的問題是:我怎樣才能構建我的報告? 我的想法是:如何動態填寫報告?
1 declar字符串SQL
2 - 當用戶選中一個搜索條件,我會Concat的他選擇了SQL請求 如:
SQL字符串; String select =「select」; String =「from」; String where; =「where」 String and =「and」; String GroupBY =「Group by」;
時,他選擇計算... GROUPBY數.... 我會Concat的: 選擇=選擇+ 「COUNT(*)」 等
ALSO
我'使用了配置JPA/Hibernate所以我不使用從我的代碼連接到數據庫(我的意思是我不明確con =連接....),所以我應該傳遞給方法.fillReportToFile,runReportToPdfStream等
方式太少了解答案。然而我要說的是,你迄今所說的話聽起來像是SQL注入攻擊的祕訣(http://en.wikipedia.org/wiki/SQL_injection)。 –
爲什麼不直接找出用戶可能進行的查詢類型,然後儘可能多地對查詢進行硬編碼?例如,你可以讓String count_query =「select count(1)from」,然後你可以處理count_query +「whatever_table_the_user_wants」,並且同樣適用於其他查詢?我還應該補充說,如果這不是一個內部應用程序,那麼顯然你需要做一些解析來防止SQL注入。 – 2011-06-27 16:03:13
這只是一個想法,我沒有嘗試:) – rym