Springjdbc-quick-guide
Spring JDBC-概要
プレーンな古いJDBCを使用してデータベースを操作している間、例外を処理したり、データベース接続を開いたり閉じたりするために不要なコードを書くのは面倒です ただし、Spring JDBC Frameworkは、接続を開いて、SQLステートメントを準備して実行し、例外を処理し、トランザクションを処理し、最後に接続を閉じることから始めて、すべての低レベルの詳細を処理します。
必要なことは、接続パラメーターを定義して、実行するSQLステートメントを指定し、データベースからデータをフェッチしながら各反復で必要な作業を行うだけです。
Spring JDBCは、データベースとインターフェースするためのいくつかのアプローチとそれに対応する異なるクラスを提供します。 このチュートリアルでは、フレームワークのJDBCテンプレートクラスを使用する従来の最も一般的なアプローチを採用します。 これは、すべてのデータベース通信と例外処理を管理する中心的なフレームワーククラスです。
JDBCテンプレートクラス
JDBCテンプレートクラスは、SQLクエリを実行し、ステートメントとストアドプロシージャ呼び出しを更新し、ResultSetの反復処理と返されたパラメーター値の抽出を実行します。 また、JDBC例外をキャッチし、それらをorg.springframework.daoパッケージで定義された汎用のより有益な例外階層に変換します。
JDBC Templateクラスのインスタンスは、一度設定されるとスレッドセーフです。 したがって、JDBCテンプレートの単一のインスタンスを構成し、この共有参照を複数のDAOに安全に挿入できます。
JDBCテンプレートクラスを使用する際の一般的な方法は、Spring構成ファイルでDataSourceを構成し、その共有DataSource BeanをDAOクラスに依存性注入することです。 JDBCテンプレートは、DataSourceのセッターで作成されます。
データアクセスオブジェクト(DAO)
DAOは、データベースインタラクションに一般的に使用される*データアクセスオブジェクト*の略です。 DAOは、データベースにデータを読み書きする手段を提供するために存在し、アプリケーションの残りの部分がアクセスするインターフェイスを介してこの機能を公開する必要があります。
Springのデータアクセスオブジェクト(DAO)のサポートにより、JDBC、Hibernate、JPA、JDOなどのデータアクセステクノロジーを一貫した方法で簡単に操作できます。
Spring JDBC-環境設定
この章では、WindowsおよびLinuxベースのシステムでSpring-AOPを設定するプロセスについて説明します。 Spring AOPは、複雑なセットアップ手順なしでいくつかの簡単な手順を実行するだけで、現在のJava環境およびMAVENと簡単にインストールおよび統合できます。 インストール中にユーザー管理が必要です。
システム要求
JDK | Java SE 2 JDK 1.5 or above |
Memory | 1 GB RAM (recommended) |
Disk Space | No minimum requirement |
Operating System Version | Windows XP or above, Linux |
Spring AOPをインストールする手順に進みましょう。
ステップ1-Javaインストールの検証
まず、システムにJava Software Development Kit(SDK)をインストールする必要があります。 これを確認するには、作業しているプラットフォームに応じて、次の2つのコマンドのいずれかを実行します。
Javaインストールが適切に行われている場合、Javaインストールの現在のバージョンと仕様が表示されます。 サンプル出力を次の表に示します。
Platform | Command | Sample Output |
---|---|---|
Windows |
Open command console and type −
a |
Javaバージョン「1.7.0_60」 Java(TM)SEランタイム環境(ビルド1.7.0_60-b19) Java Hotspot(TM)64ビットサーバーVM(ビルド24.60-b09、混合モード) |
Linux |
Open command terminal and type −
a |
Javaバージョン "1.7.0_25" JDKランタイム環境を開く(rhel-2.3.10.4.el6_4-x86_64) JDK 64ビットサーバーVMを開く(ビルド23.7-b01、混合モード) |
このチュートリアルの読者は、iシステムにJava SDKバージョン1.7.0_60がインストールされていると想定しています。 Java SDKがない場合は、https://www.oracle.com/technetwork/java/javase/downloads/indexlから現在のバージョンをダウンロードし、インストールしてください。
ステップ2-Java環境を設定する
Javaがマシンにインストールされているベースディレクトリの場所を指すように、環境変数JAVA_HOMEを設定します。 例えば、
Platform | Description |
---|---|
Windows | Set JAVA_HOME to C:\ProgramFiles\java\jdk1.7.0_60 |
Linux | Export JAVA_HOME=/usr/local/java-current |
Javaコンパイラの場所の完全パスをシステムパスに追加します。
Platform | Description |
---|---|
Windows | Append the String "C:\Program Files\Java\jdk1.7.0_60\bin" to the end of the system variable PATH. |
Linux | Export PATH=$PATH:$JAVA_HOME/bin/ |
上記で説明したように、コマンドプロンプトからコマンド java -version を実行します。
ステップ3-Mavenアーカイブのダウンロード
[[1]] 3.3.3をダウンロードします
OS | Archive name |
---|---|
Windows | apache-maven-3.3.3-bin.zip |
Linux | apache-maven-3.3.3-bin.tar.gz |
Mac | apache-maven-3.3.3-bin.tar.gz |
ステップ4-Mavenアーカイブの抽出
Maven 3.3.3をインストールするディレクトリにアーカイブを抽出します。 サブディレクトリapache-maven-3.3.3がアーカイブから作成されます。
OS | Location (can be different based on your installation) |
---|---|
Windows | C:\Program Files\Apache Software Foundation\apache-maven-3.3.3 |
Linux | /usr/local/apache-maven |
Mac | /usr/local/apache-maven |
ステップ5-Maven環境変数を設定する
M2_HOME、M2、MAVEN_OPTSを環境変数に追加します。
OS | Output |
---|---|
Windows |
Set the environment variables using system properties. M2_HOME = C:\ Program Files \ Apache Software Foundation \ apachemaven-3.3.3 M2 =%M2_HOME%\ bin MAVEN_OPTS = -Xms256m -Xmx512m |
Linux |
Open command terminal and set environment variables. export M2_HOME =/usr/local/apache-maven/apache-maven-3.3.3 export M2 = $ M2_HOME/bin export MAVEN_OPTS = -Xms256m -Xmx512m |
Mac |
Open command terminal and set environment variables. export M2_HOME =/usr/local/apache-maven/apache-maven-3.3.3 export M2 = $ M2_HOME/bin export MAVEN_OPTS = -Xms256m -Xmx512m |
ステップ6-Maven Binディレクトリの場所をシステムパスに追加する
次に、システムパスにM2変数を追加します。
OS | Output |
---|---|
Windows | Append the string ;%M2% to the end of the system variable, Path. |
Linux | export PATH = $M2:$PATH |
Mac | export PATH = $M2:$PATH |
ステップ7-Mavenインストールの検証
コンソールを開き、次の mvn コマンドを実行します。
OS | Task | Command |
---|---|---|
Windows | Open Command Console | c:\> mvn --version |
Linux | Open Command Terminal | $ mvn --version |
Mac | Open Terminal | machine:< joseph$ mvn --version |
最後に、上記のコマンドの出力を確認します。これは次のようになります-
OS | Output |
---|---|
Windows |
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T17:27:37+05:30) Mavenホーム:C:\ Program Files \ Apache Software Foundation \ apache-maven-3.3.3 Javaバージョン:1.7.0_75、ベンダー:Oracle Corporation Javaホーム:C:\ Program Files \ Java \ jdk1.7.0_75 \ jre デフォルトロケール:en_US、プラットフォームエンコーディング:Cp1252 |
Linux |
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T17:27:37+05:30) Mavenホーム:/usr/local/apache-maven/apache-maven-3.3.3 Javaバージョン:1.7.0_75、ベンダー:Oracle Corporation Javaホーム:/usr/local/java-current/jdk1.7.0_75/jre |
Mac |
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T17:27:37+05:30) Mavenホーム:/usr/local/apache-maven/apache-maven-3.3.3 Javaバージョン:1.7.0_75、ベンダー:Oracle Corporation Javaホーム:/Library/Java/Home/jdk1.7.0_75/jre |
ステップ8-Eclipse IDEのセットアップ
このチュートリアルのすべての例は、Eclipse IDEを使用して作成されています。 したがって、最新バージョンのEclipseをマシンにインストールすることをお勧めします。
Eclipse IDEをインストールするには、https://www.eclipse.org/downloads/から最新のEclipseバイナリをダウンロードします。 インストールをダウンロードしたら、バイナリ配布物を便利な場所に解凍します。 たとえば、WindowsではC:\ eclipse、Linux/Unixでは/usr/local/eclipseにあります。 最後に、PATH変数を適切に設定します。
Eclipseは、Windowsマシンで次のコマンドを実行することによって開始できます。または、eclipse.exeをダブルクリックするだけです。
Eclipseは、Unix(Solaris、Linuxなど)マシンで次のコマンドを実行することで開始できます。
正常に起動した後、すべてが正常であれば、次の結果が表示されます。
この最後の手順が完了したら、次の章で説明する最初のJDBCの例に進む準備ができています。
Spring JDBC-データソースの設定
データベース TEST にデータベーステーブル Student を作成しましょう。 MySQLデータベースを使用していると仮定します。他のデータベースを使用している場合は、それに応じてDDLおよびSQLクエリを変更できます。
次に、データベースアクセスを取得するように自身を構成できるように、JDBCテンプレートにDataSourceを提供する必要があります。 あなたは、次のように示されているコードの一部でXMLファイルのデータソースを設定することができます-
次の章では、構成されたデータベースを使用して最初のアプリケーションを作成します。
Spring JDBC-最初のアプリケーション
JDBC Templateクラスを使用したSpring JDBCフレームワークに関連する概念を理解するために、次のStudentテーブルでInsert操作とRead操作を実装する簡単な例を作成しましょう。
JDBCの概念を示す、シンプルなコンソールベースのSpring JDBCアプリケーションの作成に進みましょう。
プロジェクトを作成
コマンドコンソールを開き、C:\ MVNディレクトリに移動して、次の mvn コマンドを実行します。
Mavenは処理を開始し、完全なJavaアプリケーションプロジェクト構造を作成します。
C:/MVNディレクトリに移動します。 studentという名前で作成されたJavaアプリケーションプロジェクトが表示されます(artifactIdで指定)。 POM.xmlを更新して、Spring JDBC依存関係を含めます。 Student.java、StudentMapper.java、MainApp.java、StudentDAO.java、およびStudentJDBCTemplate.javaファイルを追加します。
POM.xml
以下は、データアクセスオブジェクトインターフェイスファイル* StudentDAO.java。*の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-クエリの作成
次の例は、Spring JDBCの助けを借りて挿入クエリを使用してクエリを作成する方法を示します。 Student Tableにいくつかのレコードを挿入します。
構文
どこで、
- insertQuery -プレースホルダーを持つクエリを挿入します。
- jdbcTemplateObject -データベースに学生オブジェクトを挿入するStudentJDBCTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを挿入する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-読み取りクエリ
次の例では、Spring JDBCを使用してクエリを読み取る方法を示します。 Student Tableで利用可能なレコードを読み取ります。
構文
どこで、
- selectQuery -学生を読むためのクエリを選択します。
- jdbcTemplateObject -データベースから学生オブジェクトを読み取るStudentJDBCTemplateオブジェクト。
- StudentMapper -StudentMapperは、取得した各レコードを学生オブジェクトにマップするRowMapperオブジェクトです。
Spring JDBCに関連する上記の概念を理解するために、クエリを選択する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-クエリの更新
次の例は、Spring JDBCを使用してクエリを更新する方法を示します。 Student Tableの利用可能なレコードを更新します。
構文
どこで、
- updateQuery -クエリを更新してプレースホルダーで学生を更新します。
- jdbcTemplateObject -データベース内の学生オブジェクトを更新するStudentJDBCTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-クエリの削除
次の例は、Spring JDBCを使用してクエリを削除する方法を示しています。 Student Tableで利用可能なレコードの1つを削除します。
構文
どこで、
- deleteQuery -プレースホルダーを持つ学生を削除するクエリを削除します。
- jdbcTemplateObject -データベース内の学生オブジェクトを削除するStudentJDBCTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを削除する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-ストアドプロシージャの呼び出し
次の例では、Spring JDBCを使用してストアドプロシージャを呼び出す方法を示します。 ストアドプロシージャを呼び出して、Student Tableで利用可能なレコードの1つを読み取ります。 IDを渡し、学生の記録を受け取ります。
構文
どこで、
jdbcCall -ストアドプロシージャを表すSimpleJdbcCallオブジェクト。
in -ストアドプロシージャにパラメーターを渡すSqlParameterSourceオブジェクト。
学生-学生オブジェクト。
out -ストアドプロシージャコールの結果の出力を表すオブジェクトをマップします。
アプローチを理解するには、次のMySQLストアドプロシージャを検討します。これは、学生IDを取得し、OUTパラメータを使用して対応する学生の名前と年齢を返します。 MySQLコマンドプロンプトを使用してTESTデータベースにこのストアドプロシージャを作成しましょう-
Spring JDBCに関連する上記の概念を理解するために、ストアドプロシージャを呼び出す例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
呼び出しの実行用に記述するコードには、INパラメーターを含むSqlParameterSourceの作成が含まれます。 入力値に指定された名前を、ストアドプロシージャで宣言されたパラメーター名と一致させることが重要です。 executeメソッドはINパラメータを受け取り、ストアドプロシージャで指定された名前でキー設定された出力パラメータを含むMapを返します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-ストアド関数の呼び出し
次の例では、Spring JDBCを使用してストアド関数を呼び出す方法を示します。 ストアド関数を呼び出して、Student Tableで利用可能なレコードの1つを読み取ります。 IDを渡し、学生名を受け取ります。
構文
どこで、
in -パラメータをストアド関数に渡すSqlParameterSourceオブジェクト。
jdbcCall -ストアド関数を表すSimpleJdbcCallオブジェクト。
jdbcTemplateObject -データベースから呼び出されたストアド関数へのStudentJDBCTemplateオブジェクト。
学生-学生オブジェクト。
アプローチを理解するには、次のMySQLストアドプロシージャを検討してください。これは、学生IDを取得し、対応する学生の名前を返します。 MySQLコマンドプロンプトを使用して、TESTデータベースにこのストアド関数を作成しましょう-
Spring JDBCに関連する上記の概念を理解するために、ストアド関数を呼び出す例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
呼び出しの実行用に記述するコードには、INパラメーターを含むSqlParameterSourceの作成が含まれます。 入力値に指定された名前を、ストアド関数で宣言されたパラメーター名と一致させることが重要です。 executeFunctionメソッドは、INパラメーターを受け取り、保存された関数で指定された文字列を返します。
以下は MainApp.java ファイルの内容です
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-BLOBの処理
次の例は、Spring JDBCの助けを借りて、更新クエリを使用してBLOBを更新する方法を示します。 Student Tableの利用可能なレコードを更新します。
学生テーブル
構文
どこで、
- in -クエリを更新するパラメータを渡すSqlParameterSourceオブジェクト。
- SqlLobValue -SQL BLOB/CLOB値パラメーターを表すオブジェクト。
- jdbcTemplateObject -データベース内の学生オブジェクトを更新するNamedParameterJdbcTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は Student.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
データベースにクエリを実行して、格納されているbyte []を確認できます。
Spring JDBC-CLOBの処理
次の例では、Spring JDBCの助けを借りて、更新クエリを使用してCLOBを更新する方法を示します。 Student Tableの利用可能なレコードを更新します。
学生テーブル
構文
どこで、
- in -クエリを更新するパラメータを渡すSqlParameterSourceオブジェクト。
- SqlLobValue -SQL BLOB/CLOB値パラメーターを表すオブジェクト。
- jdbcTemplateObject -データベース内の学生オブジェクトを更新するNamedParameterJdbcTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
データベースにクエリを実行して、保存されている説明を確認できます。
Spring JDBC-バッチ操作
次の例は、Spring JDBCを使用してバッチ更新を行う方法を示します。 1回のバッチ操作でStudentテーブルの利用可能なレコードを更新します。
構文
どこで、
- SQL -クエリを更新して、学生の年齢を更新します。
- jdbcTemplateObject -データベースの学生オブジェクトを更新するStudentJDBCTemplateオブジェクト。
- BatchPreparedStatementSetter -バッチエグゼキュータ、オブジェクトスチューデントおよびインデックスiのリストによって識別されるアイテムごとにPerparedStatementの値を設定します。 getBatchSize()は、バッチのサイズを返します。
- updateCounts -更新クエリごとの更新された行カウントを含むInt配列。
Spring JDBCに関連する上記の概念を理解するために、バッチ操作を更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-オブジェクトのバッチ操作
次の例では、Spring JDBCのオブジェクトを使用してバッチ更新を行う方法を示します。 1回のバッチ操作でStudentテーブルの利用可能なレコードを更新します。
構文
どこで、
- SQL -クエリを更新して、学生の年齢を更新します。
- jdbcTemplateObject -データベースの学生オブジェクトを更新するStudentJDBCTemplateオブジェクト。
- batch -オブジェクトのバッチを表すSqlParameterSourceオブジェクト。
- updateCounts -更新クエリごとの更新された行カウントを含むInt配列。
Spring JDBCに関連する上記の概念を理解するために、バッチ操作を更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-複数バッチ操作
次の例では、Spring JDBCを使用して1回の呼び出しで複数のバッチ更新を行う方法を示します。 バッチサイズが1である複数のバッチ操作で、Studentテーブルの使用可能なレコードを更新します。
構文
どこで、
- SQL -クエリを更新して、学生の年齢を更新します。
- jdbcTemplateObject -データベース内の学生オブジェクトを更新するStudentJDBCTemplateオブジェクト。
- ParameterizedPreparedStatementSetter -バッチエグゼキュータ、オブジェクトstudentのリストによって識別されるアイテムごとにPerparedStatementに値を設定します。
- updateCounts -バッチごとの更新クエリごとに更新された行数を含むInt [] []配列。
Spring JDBCに関連する上記の概念を理解するために、複数のバッチ操作を更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-JdbcTemplateクラス
クラス宣言
以下は、org.springframework.jdbc.core.JdbcTemplateクラスの宣言です-
使用法
- ステップ1 *-構成されたデータソースを使用してJdbcTemplateオブジェクトを作成します。
- ステップ2 *-JdbcTemplateオブジェクトメソッドを使用して、データベース操作を行います。
例
次の例は、JdbcTemplateクラスを使用してクエリを読み取る方法を示します。 Student Tableの利用可能なレコードを読み取ります。
構文
どこで、
- selectQuery -学生を読むためのクエリを選択します。
- jdbcTemplateObject -データベースから学生オブジェクトを読み取るStudentJDBCTemplateオブジェクト。
- StudentMapper -StudentMapperは、取得した各レコードを学生オブジェクトにマップするRowMapperオブジェクトです。
Spring JDBCに関連する上記の概念を理解するために、クエリを選択する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
PreparedStatementSetterインターフェイス
実装は、必要なパラメータを設定する責任があります。 プレースホルダー付きのSQLは既に提供されています。 PreparedStatementCreatorよりもこのインターフェイスを使用する方が簡単です。 JdbcTemplateはPreparedStatementを作成し、コールバックはパラメーター値の設定のみを担当します。
インターフェイス宣言
以下は、org.springframework.jdbc.core.PreparedStatementSetterインターフェイスの宣言です-
使用法
- ステップ1 *-構成されたデータソースを使用してJdbcTemplateオブジェクトを作成します。
- ステップ2 *-JdbcTemplateオブジェクトメソッドを使用してデータベース操作を行い、PreparedStatementSetterオブジェクトを渡してクエリのプレースホルダーを置き換えます。
例
次の例は、JdbcTemplateクラスとPreparedStatementSetterインターフェイスを使用してクエリを読み取る方法を示します。 Student Tableで学生の利用可能な記録を読み取ります。
構文
どこで、
- SQL -学生を読むためのクエリを選択します。
- jdbcTemplateObject -データベースから学生オブジェクトを読み取るStudentJDBCTemplateオブジェクト。
- PreparedStatementSetter -クエリでパラメーターを設定するPreparedStatementSetterオブジェクト。
- StudentMapper -StudentMapperは、取得した各レコードを学生オブジェクトにマップするRowMapperオブジェクトです。
Spring JDBCに関連する上記の概念を理解するために、クエリを選択する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-ResultSetExtractorインターフェース
SQLExceptionsは、呼び出し側のJdbcTemplateによってキャッチおよび処理されます。 このインターフェイスは、主にJDBCフレームワーク自体で使用されます。 通常、RowMapperはResultSet処理のためのより単純な選択であり、ResultSet全体に対して1つの結果オブジェクトではなく、行ごとに1つの結果オブジェクトをマッピングします。
インターフェイス宣言
以下は、org.springframework.jdbc.core.ResultSetExtractorインターフェイスの宣言です-
使用法
- ステップ1 *-構成されたデータソースを使用してJdbcTemplateオブジェクトを作成します。
- ステップ2 *-ResultSetExtractorを使用して結果セットを解析しながら、JdbcTemplateオブジェクトメソッドを使用してデータベース操作を行います。
例
次の例は、JdbcTemplateクラスとResultSetExtractorインターフェイスを使用してクエリを読み取る方法を示します。 Student Tableで学生の利用可能な記録を読み取ります。
構文
どこで、
- SQL -学生を読むためのクエリを選択します。
- jdbcTemplateObject -データベースから学生オブジェクトを読み取るStudentJDBCTemplateオブジェクト。
- ResultSetExtractor -結果セットオブジェクトを解析するResultSetExtractorオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを選択する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-RowMapperインターフェース
インターフェイス宣言
以下は org.springframework.jdbc.core.RowMapper <T> インターフェイスの宣言です-
使用法
- ステップ1 *-構成されたデータソースを使用してJdbcTemplateオブジェクトを作成します。
- ステップ2 *-RowMapperインターフェイスを実装するStudentMapperオブジェクトを作成します。
- ステップ3 *-JdbcTemplateオブジェクトメソッドを使用して、StudentMapperオブジェクトを使用しながらデータベース操作を行います。
次の例では、spring jdbcを使用してクエリを読み取る方法を示します。 StudentMapperオブジェクトを使用して、Student Tableの読み取りレコードをStudentオブジェクトにマッピングします。
構文
どこで
- SQL -すべての学生レコードを読み取るためのクエリを読み取ります。
- jdbcTemplateObject -データベースから学生レコードを読み取るStudentJDBCTemplateオブジェクト。
- StudentMapper -学生レコードを学生オブジェクトにマッピングするStudentMapperオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、StudentMapperオブジェクトを使用してクエリを読み取り、結果をマップする例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル* StudentDao.java。*の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
NamedParameterJdbcTemplateクラス
インターフェイス宣言
以下は org.springframework.jdbc.core.NamedParameterJdbcTemplate クラスの宣言です-
構文
どこで、
- in -クエリを更新するパラメータを渡すSqlParameterSourceオブジェクト。
- SqlLobValue -SQL BLOB/CLOB値パラメーターを表すオブジェクト。
- jdbcTemplateObject -データベース内の学生オブジェクトを更新するNamedParameterJdbcTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを更新する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
データベースにクエリを実行して、保存されている説明を確認できます。
Spring JDBC-SimpleJdbcInsertクラス
クラス宣言
以下は org.springframework.jdbc.core.SimpleJdbcInsert クラスの宣言です-
次の例では、Spring JDBCを使用してクエリを挿入する方法を示します。 SimpleJdbcInsertオブジェクトを使用して、Student Tableに1つのレコードを挿入します。
構文
どこで、
- jdbcInsert -学生テーブルにレコードを挿入するSimpleJdbcInsertオブジェクト。
- jdbcTemplateObject -データベース内の学生オブジェクトを読み取るStudentJDBCTemplateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを挿入する例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-SimpleJdbcCallクラス
指定する必要があるのは、プロシージャ/関数の名前と、呼び出しの実行時にパラメータを含むマップだけです。 指定されたパラメータの名前は、ストアドプロシージャの作成時に宣言された入出力パラメータと一致します。
クラス宣言
以下は org.springframework.jdbc.core.SimpleJdbcCall クラスの宣言です-
次の例は、Spring SimpleJdbcCallを使用してストアドプロシージャを呼び出す方法を示します。 ストアドプロシージャを呼び出して、Student Tableで利用可能なレコードの1つを読み取ります。 IDを渡し、学生の記録を受け取ります。
構文
どこで、
- jdbcCall -ストアドプロシージャを表すSimpleJdbcCallオブジェクト。
- in -ストアドプロシージャにパラメーターを渡すSqlParameterSourceオブジェクト。
- 学生-学生オブジェクト。
- out -ストアドプロシージャコールの結果の出力を表すオブジェクトをマップします。
Spring JDBCに関連する上記の概念を理解するために、ストアドプロシージャを呼び出す例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
呼び出しの実行用に記述するコードには、INパラメーターを含むSqlParameterSourceの作成が含まれます。 入力値に指定された名前を、ストアドプロシージャで宣言されたパラメーター名と一致させることが重要です。 executeメソッドはINパラメータを受け取り、ストアドプロシージャで指定された名前でキー設定された出力パラメータを含むMapを返します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-SqlQueryクラス
クラス宣言
以下は org.springframework.jdbc.object.SqlQuery クラスの宣言です-
使用法
- *ステップ1 *-構成されたデータソースを使用してJdbcTemplateオブジェクトを作成します。
- *ステップ2 *-RowMapperインターフェイスを実装するStudentMapperオブジェクトを作成します。
- *ステップ3 *-JdbcTemplateオブジェクトメソッドを使用して、SqlQueryオブジェクトの使用中にデータベース操作を行います。
次の例は、SqlQueryオブジェクトを使用してクエリを読み取る方法を示します。 StudentMapperオブジェクトを使用して、Student Tableの読み取りレコードをStudentオブジェクトにマッピングします。
構文
どこで、
- SQL -すべての学生レコードを読み取るためのクエリを読み取ります。
- jdbcTemplateObject -データベースから学生レコードを読み取るStudentJDBCTemplateオブジェクト。
- StudentMapper -学生レコードを学生オブジェクトにマッピングするStudentMapperオブジェクト。
- SqlQuery -学生レコードを照会し、それらを学生オブジェクトにマップするSqlQueryオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、クエリを読み取り、StudentMapperオブジェクトを使用して結果をマッピングする例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル* StudentDao.java。*の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-SqlUpdateクラス
クラス宣言
以下は org.springframework.jdbc.object.SqlUpdate クラスの宣言です-
使用法
- ステップ1 *-構成されたデータソースを使用してJdbcTemplateオブジェクトを作成します。
- ステップ2 *-RowMapperインターフェイスを実装するStudentMapperオブジェクトを作成します。
- ステップ3 *-JdbcTemplateオブジェクトメソッドを使用して、SqlUpdateオブジェクトの使用中にデータベース操作を実行します。
次の例は、SqlUpdateオブジェクトを使用してクエリを更新する方法を示します。 StudentMapperオブジェクトを使用して、Student Tableの更新レコードをStudentオブジェクトにマッピングします。
構文
どこで、
- SQL -クエリを更新して生徒の記録を更新します。
- jdbcTemplateObject -データベースから学生レコードを読み取るStudentJDBCTemplateオブジェクト。
- StudentMapper -学生レコードを学生オブジェクトにマッピングするStudentMapperオブジェクト。
- sqlUpdate -学生レコードを更新するSqlUpdateオブジェクト。
Spring JDBCに関連する上記の概念を理解するために、StudentMapperオブジェクトを使用してクエリを読み取り、結果をマップする例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル* StudentDao.java。*の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル Beans.xml です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。
Spring JDBC-StoredProcedureクラス
クラス宣言
以下は org.springframework.jdbc.core.StoredProcedure クラスの宣言です-
次の例では、Spring StoredProcedureを使用してストアドプロシージャを呼び出す方法を示します。 ストアドプロシージャを呼び出して、Student Tableで利用可能なレコードの1つを読み取ります。 IDを渡し、学生の記録を受け取ります。
構文
どこで、
- StoredProcedure -ストアドプロシージャを表すStoredProcedureオブジェクト。
- StudentProcedure -StudentProcedureオブジェクトはStoredProcedureを拡張して、入力、出力変数を宣言し、結果をStudentオブジェクトにマップします。
- 学生-学生オブジェクト。
Spring JDBCに関連する上記の概念を理解するために、ストアドプロシージャを呼び出す例を作成しましょう。 サンプルを作成するには、動作するEclipse IDEを用意し、次の手順を使用してSpringアプリケーションを作成します。
Step | Description |
---|---|
1 | Update the project Student created under chapter Spring JDBC - First Application. |
2 | Update the bean configuration and run the application as explained below. |
以下は、データアクセスオブジェクトインターフェイスファイル StudentDAO.java の内容です。
以下は Student.java ファイルの内容です。
以下は StudentMapper.java ファイルの内容です。
定義済みのDAOインターフェイスStudentDAOの実装クラスファイル StudentJDBCTemplate.java を次に示します。
呼び出しの実行用に記述するコードには、INパラメーターを含むSqlParameterSourceの作成が含まれます。 入力値に指定された名前を、ストアドプロシージャで宣言されたパラメーター名と一致させることが重要です。 executeメソッドはINパラメータを受け取り、ストアドプロシージャで指定された名前でキー設定された出力パラメータを含むMapを返します。
以下は MainApp.java ファイルの内容です。
以下は、構成ファイル* Beans.xml。*です。
ソースおよびBean構成ファイルの作成が完了したら、アプリケーションを実行しましょう。 アプリケーションで問題がなければ、次のメッセージが出力されます。