0

現在、次のコードを使用してmysqlデータベースに接続していますが、プロジェクトマネージャーは、接続を処理するためにSpringフレームワークを使用する必要があると述べています。

どうすればこれを達成できますか?

また、Springを使用してデータベース接続を処理すると、システム全体の品質が向上しますか?

これがクラスの例です

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;

public class SomeClass {
   Connection connection = null;
   ResultSet resultSet;
   Statement state;
   ArrayList aList = new ArrayList();

   public void connectToDatabase(String databaseName)
   {
      try
      {
         Class.forName("com.mysql.jdbc.Driver").newInstance();
         connection = (Connection) DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/" + databaseName, "username", "password");
         state = (Statement) connection.createStatement();
      }
      catch(Exception e)
      {
         JOptionPane.showMessageDialog(null, e);
      }
   }

private void populateAList() {
   try
   {
      connectToTable("testDB");
      resultSet = state.executeQuery("SELECT listItems FROM tblListItems WHERE ID = '" + theIDYouWant + "'");

      while(resultSet.next())
      {
         aList.add(resultSet.getString("listItems"));
      }

      resultSet.close();
      state.close();
   }
   catch(Exception e)
   {
      JOptionPane.showMessageDialog(null, e);
   }
}

}

4

1 に答える 1

3

Springリファレンスガイドには、JDBCのサポートに関する詳細なドキュメントが記載されています。最低限、JdbcTemplatenew JdbcTemplate(...)を使用すると(最も基本的な使用法以外は何も必要ありません)、次のようになります。

  • 多くの定型コードを排除し、
  • ステートメントと接続を閉じるのを忘れる機能を削除し、
  • 不適切な例外処理への誘惑を減らし、
  • 非効率的な接続処理からの移行を非常に簡単にします。

あなたが示したコードはこれらの4つすべてに苦しんでいるので、Springに切り替えることはあなたにとって大きなメリットになると言わざるを得ません。

また、マルチスレッドアプリ(すべてのWebアプリはマルチスレッド)を使用している場合は、コードに欠けている「自動スレッドセーフ」をリストに追加します。

于 2012-06-01T22:50:43.700 に答える