JDBC接続の六段階インスタンスコード(mysqlと接続)


JDBCの六ステップ:
1.ドライバの登録
2.データベースの接続を取得する
3.データベースの操作対象を取得する
4.sql文を実行する
5.クエリー結果セットを処理する(実行されている文にselect文がない場合は、このステップは書かない)
6.リソースを閉じる
第一歩:ドライバ登録

//          
//                ,    
DriverManager.register(new com.mysql.jdbc.Driver());
//  
Class.forName("com.mysql.jdbc.Driver");
 
 
//    
DriverManager.register(new com.mysql.cj.jdbc.Driver());
//  
Class.forName("com.mysql.cj.jdbc.Driver");
ステップ2:データベースの接続を取得する

//     try..catch,        ,    try       
Connection conn = null;
...
//    Connection,       url      
// jdbc:mysql://localhost:3306/t_use        , t_use          
//  
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/t_use","   ","  ");
 
 
//  
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/t_use?serverTimezone=GMT%2B8","   ","  ");
ステップ3:データベース操作オブジェクトの取得

//      Connection    
Statement st = null;
...
//          
st = conn.createStatement();
ステップ4:sql文を実行する

//     sql  
String sql = " ";
//              sql  
//        ,    select        ,      int,          
st.executeUpdate(sql);
 
//  sql   select  ,           ,       ResultSet  ,      
//          
ResultSet rs = null; // Connection   
rs = st.executeQuery(sql);
ステップ5:クエリーの処理結果セット

//    select       ,    getString   getInt 
while(rs.next()){
    String str = rs.getString("          ");
}
ステップ6:リソースを閉じる

//       try     ,     finally   
//    
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
 
            if (st != null) {
                try {
                    st.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
 
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
接続をオフにするのも順序があります。まずResultSetをオフにして、Stationオブジェクトをオフにして、最後にConnectionオブジェクトをオフにします。
完全コード

package jdbc.com;
import com.mysql.cj.protocol.Resultset;
 
import java.sql.*;
public class Test02 {
    public static void main(String[] args) {
 
        Connection conn = null;
        Statement st = null;
        ResultSet rt = null;
        try {
            //    (        )
            //com.mysql.cj.jdbc.Driver Driver = new com.mysql.cj.jdbc.Driver();
            DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
            //       
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/liu2?serverTimezone=GMT%2B8","   ","  ");
            //         
            st = conn.createStatement();
            //  sql  
            String sql = "select ename,sal from emp order by sal desc";
            rt = st.executeQuery(sql);
            //      
           while(rt.next()){
               String ename = rt.getString("ename");
               String sal = rt.getString("sal");
               System.out.println(ename + "," + sal);
           }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            //    
            if (rt != null) {
                try {
                    rt.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
 
            if (st != null) {
                try {
                    st.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
 
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
 
 
        }
    }
}
最後に、これが着信値になると、sqlの注入を引き起こす可能性があります。解決方法はSttementをPreparedSttementにすることです。sqlの注入問題は避けられます。第三段階と第四段階のコードが少し変化するだけで、多くは言いません。
締め括りをつける
ここで、JDBC接続(mysqlと接続)に関する記事を紹介します。JDBCとmysqlの接続内容については、以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。