Spring Spring JDBCを使用してデータにアクセス


DataSource

  • JDBCリストの一部は、汎用接続工場
  • である
  • DBに関する接続情報を含み、beanとして登録してパラメータを渡す
    →SpringはDataSourceでDBに
  • 接続

    DataSourceロール


    DBサーバへの基本接続
    DB接続冷却機能
    取引

    DB Connection Pooling


    JavaプログラムがDBに接続するのに時間がかかるので、予め一定数の接続を作成してリポジトリに保存しておきます.リクエスト時にポップアップして時間を節約するプログラミング方法を接続冷却と呼ぶ

    DataSource設定とbean登録、注入方法


    データベース・サーバのプロパティの設定(Property)
    # jdbc.properties
    jdbc.driver = com.mysql.jdbc.Driver
    jdbc.url = jdbc:mysql//localhost:3306/databaseName
    jdbc.username = root
    jdbc.password = password
    このデータソースをbeanとして登録
    <context:property-placeholder location="com/spring/props/jdbc.properties"/>
    
      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="${jdbc.driverClassName}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
      </bean>

    JDBC (Java Database Connectivity)


    Javaが提供するAPI 、
  • DBにアクセス可能
  • DBから資料を照会または更新する方法を提供する
    クエリー:データベース要求情報
  • Plain JDBC APIの問題点
    -クエリの実行前後に大量のコードを記述する必要があります(接続の作成、コマンドの作成、ResultSetのクローズなど)
    -DB論理で異常処理コードを実行する
    -トレーストランザクションを処理する必要があります
  • Spring JDBCロール

  • 接続のオン/オフ
  • 準備/クローズ
  • 実行
  • ResultSet Loop処理
  • Exception処理/戻り
  • 取引
  • Spring JDBC開発者の役割


    もしあなたが肝心な仕事しかしないなら、残りはFrameworkに任せます.
    @Repository
    public class SpringDaoImpl{
    	private JDBCTemplate jdbcTemplate;
        
        @Autowired
        public void setDataSource(DataSource dataSource) {
        	this.jdbcTemplate = new JdbcTemplate(dataSource);
        }
        
        public int getCustomerCount() {
        	return jdbcTemplate.queryForInt("select count(*) from customers");
        }
    }
  • データソース設定
  • sql文
  • を記述する
  • 結果処理
  • JDBC Template

  • Spring JDBCメソッドの1つ
  • 内部ではPlain JDBC APIが使用されているが、Springが提供するクラス
  • はPlian JDBC APIの問題を解消している.

    JDBC Template機能

  • の実行:データベース・データを変更するためのクエリー(InsertやUpdateなど)を実行します.
  • クエリー:Selectを使用して
  • データをクエリー
  • 展開:1回に複数のクエリーを実行する
  • JDBC Driver


    Javaプログラムの要求をDBMSが理解できるプロトコルに変換するクライアントアダプタ.
  • DBごとにドライバがあり、
  • を使用して使用するDBに合致します.
  • のデータソースをJDBC Template(DI)に注入し、JDBC TemplateはJDBC Driverを使用してデータベース
  • にアクセスする.