0

ハードコードされたSQLステートメントを使用してデータベースからデータを取得し、このデータをpojoに入力するアプリに取り組んでいます。Spring jdbcテンプレートが使用されているため、接続の開閉について心配する必要はありません。ハードコードされたSQLステートメントの使用は間違っているようですか?

SQLステートメントを無効にするために使用できるデザインパターンまたはライブラリはありますか?

4

4 に答える 4

1

を使用するJdbcTemplateと、アプリケーションコードは引き続き提供する責任がsqlあり、JdbcTemplateSQLクエリまたは更新を実行し、ResultSetを反復処理し、JDBC例外をキャッチできます。ハードコードされたSQLステートメントの記述を回避したい場合はHibernateiBatisなどのORMツールを調べる必要があります。

于 2013-01-30T18:07:05.807 に答える
1

MyBatis(正式にはiBatis)を見てください。

  • ハードコードされたSQLをXMLファイル(または注釈)に抽出できます。
  • Springコンテナと統合され、SpringTransactionを使用できます。

などなど。

于 2013-01-30T17:22:37.843 に答える
1

これは、生のSQLとORMツールのどちらを使用するかの選択を取り巻くいくつかの問題についての以前の良い議論です。

Hibernate、iBatis、JavaEEまたはその他のJavaORMツール

于 2013-01-30T17:25:37.207 に答える
0

Javaクラス内にSQLを含めることには本質的に問題はありません(少し物議を醸していますが)。SQLクエリを外部化する場合は、次のことができます。

  • 非常に成熟したMyBatisを使用してください
  • SQLをapplicationContext.xmlSpring構成ファイルに入れて、POJO(貧乏人のMyBatis)に挿入します
  • SQLをDAOパターンの背後に隠す(interface SomeDaoそしてclass SqlSomeDaoSQLをカプセル化する)
  • ...すでにSQLを使用している場合は、JPAのような完全なORMを使用するのは最善の方法ではありません。

Spring Data JDBCGenericDAOもチェックしてください-との上に小さなDAO実装がJdbcTemplateありRowMapper<T>ます。免責事項:私はこのライブラリの作者です。

于 2013-01-30T18:13:29.413 に答える