JdbcTemplateカスタム(データベース・レコードのCRUDテーブル)

要件:

  • JdbcTemplateカスタムテンプレート、データベースのテーブルのレコードへの機能の追加および削除
    1  パッケージdemo03;
     2  
    。3  インポートutils.JDBC_DBCP_Utils;
     4  
    5。 インポートするjavax.sql.DataSource;
     6  インポートのjava.sql.Connection;
     7  インポートjava.sql.ParameterMetaData;
     8  インポートのjava.sql.PreparedStatement;
     9  インポートのjava.sql。 SQLException;
     10  
    。11  パブリック クラスMyJDBCTemplate {
     12れる     // データソース渡す1.必要
    13である     プライベートデータソースデータソース;
     14  
    15      // コンストラクタ
    16      公衆MyJDBCTemplate(データソースデータソース){
     17。         この .DataSource = データソース、
     18である     }を
     19。 
    20である     / ** 
    21である      * + JDBCデータベース操作メタデータをカプセル化するステップは、リソースの解放は、(ユーザが興味のリソースを解放しない)
     22       *を追加します、 、削除、変更
     23である      *
     24       *の@param SQLのSQLステートメントは、
     25の      * @param パラメータのparams
     26がある      * @return はCtrl + Alt + T
     27       * / 
    28      公共 int型の更新(SQL文字列、オブジェクト...のparams){
     29          接続接続= nullを;
     30         =のPreparedStatementのPreparedStatement ヌル;
     31は、         試してみる{
     32              // 0の非空の判断
    33がある             IF(データソース== nullのスロー 新しい新しいのRuntimeException( "MUSTのdataSource ... nullではない" );
     34は 
    35の             IF(SQL == nullのスロー 新しい新しいです RuntimeException( "NOT NULLのSQL MUST ..." );
     36  
    37              // ソースから得られた1接続オブジェクト
    38は、              接続= dataSource.getConnection();
     39              // 2.オブジェクトプリコンパイルされたSQL文を作成し(ユーザーの値に挿入?、?、?、?)
    40              のPreparedStatement = のConnection.prepareStatement(SQL)
     41がある 
    42れる             // 3.メタデータ・オブジェクトは、得られたパラメータ
    43である              ParameterMetaDataアンParameterMetaData = preparedStatement.getParameterMetaData();
     44である             // で得られたパラメータの前記数
    45              INT parameterCount = parameterMetaData.getParameterCount( );
     46である 
    47              // 各割り当てに5?
    48              のためにint型 I = 0; IはparameterCountを<; Iは++ ){
     49                  がPreparedStatement.setObject(I + 1。、paramsは[I]);
     50              }
     51れる 
    52れます             // 6.执行
    53              INT I = preparedStatement.executeUpdate()。
    54              リターンI;
    55          } キャッチ(のSQLException E){
     56              e.printStackTrace();
    57          } 最後に{
     58              // 释放资源
    59              JDBC_DBCP_Utils.release(ヌル、PreparedStatementの、接続)。
    60          }
     61          リターン -1 62      }
     63 }

     

おすすめ

転載: www.cnblogs.com/optimistic-cheerful/p/11033139.html