ハードコードされたSQLステートメントを使用してデータベースからデータを取得し、このデータをpojoに入力するアプリに取り組んでいます。Spring jdbcテンプレートが使用されているため、接続の開閉について心配する必要はありません。ハードコードされたSQLステートメントの使用は間違っているようですか?
SQLステートメントを無効にするために使用できるデザインパターンまたはライブラリはありますか?
ハードコードされたSQLステートメントを使用してデータベースからデータを取得し、このデータをpojoに入力するアプリに取り組んでいます。Spring jdbcテンプレートが使用されているため、接続の開閉について心配する必要はありません。ハードコードされたSQLステートメントの使用は間違っているようですか?
SQLステートメントを無効にするために使用できるデザインパターンまたはライブラリはありますか?
を使用するJdbcTemplateと、アプリケーションコードは引き続き提供する責任がsqlあり、JdbcTemplateSQLクエリまたは更新を実行し、ResultSetを反復処理し、JDBC例外をキャッチできます。ハードコードされたSQLステートメントの記述を回避したい場合はHibernate、iBatisなどのORMツールを調べる必要があります。
MyBatis(正式にはiBatis)を見てください。
などなど。
これは、生のSQLとORMツールのどちらを使用するかの選択を取り巻くいくつかの問題についての以前の良い議論です。
Javaクラス内にSQLを含めることには本質的に問題はありません(少し物議を醸していますが)。SQLクエリを外部化する場合は、次のことができます。
applicationContext.xmlSpring構成ファイルに入れて、POJO(貧乏人のMyBatis)に挿入しますinterface SomeDaoそしてclass SqlSomeDaoSQLをカプセル化する)Spring Data JDBCGenericDAOもチェックしてください-との上に小さなDAO実装がJdbcTemplateありRowMapper<T>ます。免責事項:私はこのライブラリの作者です。