これは非常に基本的かもしれないが、まだ具体的なものは見つけられませんでした。問題は、全く同じ構造の2つのテーブルを持つアプリケーションがあるかどうかです(臭いかもしれませんが、ファイルの100をリファクタリングできないので無視してください)。これらのテーブルからカウンタコードの重複を読み取っているときに、クエリを動的に生成することをお勧めしますか?または、私は単一の責任プリンシパルを尊重するためにクエリを分離しておく必要がありますか?誰かが私が勉強することができる何らかの種類のリソースに手伝ったり案内したりできますか?テーブル名をパラメータとして使用してmysqlクエリを生成
-2
A
答えて
0
PreparedStatementのパラメータとしてテーブル名を直接使用することはできないため、クエリを動的に構築する必要があります。あなたは、メタデータ・メソッドからテーブルに関する情報を取得することができます。
Connection con; DatabaseMetaData meta = con.getMetaData(); ResultSet rs = meta.getTables (null, null, tableName, null); ResultSet rs = meta.getColumns (null, null, tableName, null);
関連する問題
- 1. MySQLとSQL Serverのクエリを使用してテーブルDDLを生成
- 2. SQLクエリの結果をmysqlトリガのテーブル名として使用
- 3. PHPモデル生成のパラメータとしてMySQLフィールドフラグを使用する
- 4. PHPを使用してmysqlテーブルから動的挿入クエリを生成
- 5. 動的データベース名を使用してMysqlテーブルを作成する
- 6. テーブル名としてパラメータを使用したssis dynamic t-sqlステートメント
- 7. MYSQL Stuckテーブルを生成しています(大量のクエリ)
- 8. Java Spring Boot/Mysql - パラメータとしてHashSetを使用してクエリを実行する
- 9. phpとmysqlを使用してクエリからテーブルを作成する方法
- 10. Java Hibernate @テーブル名をパラメータとして
- 11. テーブル名をパラメータとして持つストアドプロシージャ
- 12. カラム名として渡すパラメータを使ってmysqlでテーブルを動的に作成する
- 13. MySQLワークベンチを使用してレールアプリケーションのテーブルとデータを作成
- 14. 名前を使用してPerlでpostgresクエリをバインドするパラメータ
- 15. MySqlを使用してテーブル(テーブル)を作成する
- 16. MySQL DELETE派生テーブルを使用したクエリ
- 17. SQL Serverストアドプロシージャのパラメータを使用してテーブル名を渡す
- 18. mysqlを使用して複数のテーブルをクエリする
- 19. mysqlを使用して大きなテーブルをクエリする
- 20. ユーザ検索パラメータを使用してMySQL JSON_EXTRACT条件を生成する
- 21. クエリを使用してMySQLデータベース名を変更
- 22. mysqlでテーブルを作成するときにテーブル名として変数を使用する
- 23. 日付と時刻をファイル名として使用してバックアップファイルを生成
- 24. コントローラ内のクエリを使用してビュー内にテーブルを生成する方法
- 25. 子のクエリを作成して親のパラメータを使用する
- 26. JSqlParser「としてテーブルを作成..」クエリ
- 27. MySQLは、クエリと集約関数を使用してトリガーを作成します。
- 28. MYSQL NOT DISTINCT()を使用してクエリ
- 29. クエリを使用してmysqlデータベースのバックアップ
- 30. mysql-phpリストをクエリしてテーブルを作成する
あなたは、変数テーブル名を使用して意味ですか?これは一般的に、クエリ中でテキストを使用する前にテキストを検証していない限り、プリペアドステートメントの使用に反するため、おそらくリファクタリングするラインがたくさんあるでしょう。 – GrumpyCrouton
"100個のファイルをリファクタリングすることはできません" - 可能です。 – symcbean