JDBC接続の六段階インスタンスコード(mysqlと接続)
JDBCの六ステップ:
1.ドライバの登録
2.データベースの接続を取得する
3.データベースの操作対象を取得する
4.sql文を実行する
5.クエリー結果セットを処理する(実行されている文にselect文がない場合は、このステップは書かない)
6.リソースを閉じる
第一歩:ドライバ登録
完全コード
締め括りをつける
ここで、JDBC接続(mysqlと接続)に関する記事を紹介します。JDBCとmysqlの接続内容については、以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。
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の接続内容については、以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。