一般的なCRUD操作JDBC_

オリジナルビデオアドレス:https://www.bilibili.com/video/av67955358?p=17

 

声明では、データテーブルを使用して操作を欠点:

1.現在の戦いの文字列操作は、比較的複雑

2. SQLインジェクションの問題

 

PreparedStatementのサブインタフェースステートメントであります

 

クラスの中にカプセル化された第一の実施形態取得したリソースを閉じます。

パッケージの1日目。

輸入java.io.InputStreamを。
インポートのjava.sql.Connection;
インポートに、java.sql.driver;
インポートのjava.sql.DriverManager。
輸入ます。java.sql.SQLException;
輸入java.util.Properties;

輸入org.junit.jupiter.api.Test;



パブリック クラスJUnittext {
    
     @テスト
     公共 のボイド connectiontest1()がスローするSQLExceptionを{
         ドライバドライバ = 新しいはcom.mysql.jdbc.Driver()。
        
        文字列のURL = "はjdbc:mysqlの:// localhostを:?3306 /テストserverTimezone = GMT%2B8" 
        プロパティ情報 = 新しいプロパティ();
        info.setProperty( "ユーザー"、 "ルート" );
        info.setProperty( "パスワード"、 "sqw991017" );
        
        接続でCONN = driver.connect(URL、情報)。
        
        
        System.out.println(CONN)。
     }
     
    @テスト
     公共 のボイド connectiontest2は()スロー例外を{
          クラスclazz = Class.forNameの( "はcom.mysql.jdbc.Driver" );
          ドライバドライバ = (ドライバ)clazz.getDeclaredConstructor()のnewInstance()。
            
          文字列のURL = "はjdbc:mysqlの:// localhostを:?3306 /テストserverTimezone = GMT%2B8" 
          プロパティ情報 = 新しいプロパティ();
          info.setProperty( "ユーザー"、 "ルート" );
          info.setProperty( "パスワード"、 "sqw991017" );
            
           接続でCONN = driver.connect(URL、情報)。
            
            
           System.out.println(CONN)。
     }
    
    @テスト
    公共 のボイド connectiontest3は()スロー例外を{
        
        / *
         *クラスclazz = Class.forNameの( "はcom.mysql.jdbc.Driver"); ドライバドライバ=
         *(ドライバー)clazz.getDeclaredConstructor()のnewInstance();. //登録ドライブ
         *にDriverManager.registerDriver(ドライバ)
         * /
        
        文字列のURL = "はjdbc:mysqlの:// localhostを:?3306 /テストserverTimezone = GMT%2B8" 
        文字列のユーザー =「ルート」
        文字列のパスワード =「sqw991017」
        
        接続でCONN = したDriverManager.getConnection(URL、ユーザー、パスワード);
        System.out.println(CONN)。
        
        
    }
    
    @テスト
    公共 のボイド connectiontest4は()スロー例外を{
         // 4基本の設定ファイル情報の読み取り
        
        のInputStream IS = JUnittext。クラス .getClassLoader()getResourceAsStreamを( "jdbc_properties。" );
        
        プロパティのプロ = 新しいプロパティ();
        pros.load(です)。
        
        文字列ユーザ = pros.getProperty(「ユーザ」)。
        文字列のパスワード = pros.getProperty( "パスワード" );
        文字列のURL = pros.getProperty( "URL" );
        ストリングdriverClass = pros.getProperty( "driverClass" )。
        
        // 2.負荷駆動
        にClass.forName(driverClass)。
        
        
        // 3获取链接 
        接続CONN = したDriverManager.getConnection(URL、ユーザー、パスワード);
        
        System.out.println(CONN)。
        
    }
}

 

一般的なCRUD操作:

// 1.取得リンク
// 2.プリコンパイルされたSQL文の
3 //塗りつぶしプレースホルダ
// 4.実行
// 5.閉じるリソース
@Test
     公共 ボイド  testcommonupdatetest(){
         // オブジェクトTEST1 =新しいオブジェクト[] {3}。
        文字列のSQL =「お客さまから削除どこのid =?」;
        更新(SQL、 3 )。
    }
    



    // 一般的なCRUD操作
    の公共 のボイドの更新(SQL文字列、オブジェクトの引数...){
         // 1.取得リンク 
        接続コネティカット= nullを
        PreparedStatementのpsの = nullをしてみてください{
            CONN = JDBCutils.getConnection()。
            
            // 2. SQLステートメントをプリコンパイル 
            PS = conn.prepareStatement(SQL);
            
            // 3.塗りプレースホルダ
            のためのINT I = 0; I <args.length; I ++ ){
                ps.setObject(I +1 、引数[I])。
            }
            
            // 4.実行
            )(ps.executeを。
        } キャッチ(例外e){
            e.printStackTrace();
        } 最後に{
             // 5.閉鎖リソース     
            JDBCutils.closeResource(CONN、PS)。
        }
        
    }

 

おすすめ

転載: www.cnblogs.com/jintianhekele/p/11876725.html