JavaのJDBCTemplate

春のJDBC

  春のフレームワークJDBCシンプルなパッケージには、簡略化され、開発JDBCTemplateターゲットJDBCが提供されます。

  ステップ

    1、ジャーパッケージに

        

    2、JDBCTemplateは、データソースのデータソースに依存するオブジェクトを作成します。

       プールデータソースが作成されます。

JdbcTemplateテンプレート=新しいJdbcTemplate(DS)。

    3、CRUD操作を行うためにJdbcTemplateの道を呼び出します

  一般的な方法:

図1に示すように、更新():DMLステートメントを実行します。ステートメントを変更、追加、削除。
2、queryForMap():一つだけの長さを設定し、結果を照会するには、この方法:クエリ結果がマップセット、キーとしてカラム名、このマップセット(注意を置くためのパッケージの値として記録された値としてパッケージ設定されている結果)
。3、queryForList():地図に設定された各パッケージレコード、リストにロードされた後、設定されたマップのセット):クエリ結果は、結果セットリストセットパッケージ(ノートである
。4、クエリ():クエリ結果、結果JavaBeanのようにパッケージ化、
  クエリのパラメータ:RowMapperの
         ①RowMapperのメソッドはの書き換え匿名の内部クラス、作成
         ②BeanPropertyRowMapper実装クラスは、一般的に使用され、データは自動包装のJavaBeanに行うことができる
           新しいBeanPropertyRowMapper <タイプ>(型の.class)

5。 queryForObject():クエリ結果、オブジェクトは、重合は、クエリ機能のために一般的に、結果としてパッケージ化され

  ケース:

      ブック書店データベースのテーブル構造のテーブルと次のように記録します:

    

    需要

    (1)10 NUMにデータ番号1を修正します。

    (2)レコードを追加します。

    (3)追加したレコードを削除します。

    (4)地図のセットとしてパッケージクエリIDレコード1、。

    (5)リストをカプセル化されているすべてのレコードのクエリを、。

    (6)クエリがすべてのレコードの、EMPがオブジェクトリストのセットとしてパッケージ。

    (7)レコードの総数クエリを。

    コードの実装:

  1つの インポートcn.ks.beans.Book。
  2  インポートcn.ks.utils.JDBCUtils。
  3  輸入org.junit.Test。
  4  インポートorg.springframework.jdbc.core.BeanPropertyRowMapper。
  5  輸入org.springframework.jdbc.core.JdbcTemplate。
  6  インポートorg.springframework.jdbc.core.RowMapper。
  7  
  8  インポートのjava.sql.ResultSet。
  9  インポートjava.sql.SQLExceptionという。
10  インポートjava.util.Listに。
11  インポートjava.util.Map。
12の 
13  パブリック クラス{JdbcTemplateDemo
 14  
15      // 1 JDBCTemplate取得対象
16      プライベート JdbcTemplateテンプレート= 新しい新しいJdbcTemplate(JDBCUtils.getDataSource());
 17  
18は、     / * 
19       * 1、NUM改訂番号データは、1〜10であり、
 20       * / 
21である     @Test
 22は     公衆 ボイドTEST1(){
 23は、 
24          // 2 SQL定義する
25          文字列のSQL = "ID = NUM = 10. 1更新ブックSET"を26である         // 3 SQL実行。
27          INTの COUNT = template.update(SQL)を、
 28  
29         System.out.println(COUNT);
 30  
31である     }
 32  
33は、     / * 
34であり      、レコード2を添加する*
 35       * / 
36      @Test
 37 [      パブリック ボイドTEST2(){
 38であり          ,,(文字列のSQL =「INSERT INTO予約値? ?,,)?? " ;
 39          int型 COUNT = template.update(SQL、NULL、"赤の夢」、3、33.0 ,. 6。);
 40          のSystem.out.println(COUNT);
 41れる     }
 42である 
43ことである     / * 
44れる      * 3。 、ちょうど追加されたレコードを削除し、
 45       * / 
46      @Test
47      パブリック ボイドTest3は(){
 48          列= SQL "IDは=ブックから削除しますか?" ;
 49          int型 COUNT = template.update(SQL ,. 3 );
 50          のSystem.out.println(COUNT)
 51である     }
 52である 
53ことです     * / 
54       * 4、マップのセットとしてパッケージクエリIDレコード1;
 55は、      このメソッドの長さは、一つだけの結果を照会することに注意してください*
 56である      * / 
57である     @Test
 58      公共 ボイドTEST4(){
 59  //        文字列のSQL "?= *上記のID SELECT =または上記IDからWHEREを予約" =;
 60  //       地図の<string、オブジェクト> = template.queryForMapマップ(SQL ,. 1、2); 
61である          文字列= SQLは、 "より* WHERE ID =ブックを選択?" ;
 62である          地図の<string、オブジェクト> = template.queryForMapマップ(SQL ,. 1 );
 63で         のSystem.out.println(MAP);
 64          // {。。。。= 1、ID、名前=旅、種類1 =、= 22.0価格、NUM = 5} 
65      }
 66  
67      / * 
68        5、全てのレコードに対するクエリ。リストとしてパッケージ;
 69       * / 
70      @Test
 71は、     公共 ボイドTEST5(){
 72          列= SQL "が予約SELECT * FROM" ;
 73であります         リスト<地図<文字列、オブジェクトリスト>> = template.queryForList(SQL);
 74  
75          のために(地図の<string、オブジェクト> アイテム:リスト){
 76              のSystem.out.println(項目);
 77          }
 78      }
 79  
80      / * 
81         6オブジェクトリストのEmpのセットとしてパッケージすべてのレコードを、照会;
 82       * / 
83      @Test
 84      公共 ボイドTEST6(){
 85          列= SQL "が予約SELECT * FROM" ;
 86          リスト<ブック> =テンプレートリスト.query(SQL、新しい新しい RowMapperの<ブック>(){ // 匿名内部クラス
87              @Override
 88              公共ブックmapRow(ResultSetのResultSetが、int型 i)がスローするSQLException {
 89                  ブックブック= 新しいブックを();
90                  book.setId(resultSet.getInt( "ID" ))。
91                  book.setName(resultSet.getString( "名前" ));
92                  book.setKind(resultSet.getString( "種類" ));
93                  book.setPrice(resultSet.getDouble( "価格" ));
94                  book.setNum(resultSet.getInt( "NUM" ))。
95  
96                 戻り帳;
 97              }
 98          ;})
 99  
100          のための(本書籍:リスト){
 101              のSystem.out.println(書籍);
 102          }
 103      }
 104  
105      / * 
106          。6、すべてのクエリのレコード、オブジェクトにEMPとしてパッケージコレクションのリスト;
 107       * / 
108      @Test
 109      公共 ボイドTEST7(){
 110          列= SQL "SELECT *帳から" ;
 111          リスト<ブック>リスト= template.query(SQL、新しい新しい BeanPropertyRowMapper <ブック>(ブック。クラス));
112          (ブックブック:リスト){
 113              のSystem.out.println(書籍);
114          }
 115      }
 116  
117      / * 
118       * 7、查询总记录数。
 119       * / 
120      @Test
 121      公共 ボイドTEST8(){
 122          = "選択数本から(ID)"文字列のSQL ;
123          = template.queryForObject(SQL、ロング沿っロングクラス)。
124          のSystem.out.println(沿って)。
125      }
 126 }

 

    

 

おすすめ

転載: www.cnblogs.com/niujifei/p/11611981.html