jdbc之連線資料庫程式碼分析
package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Base {
public static void main(String[] args) throws SQLException {
test();
}
static void test() throws SQLException {
//1.註冊驅動
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2.建立連線
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","Qb393302+");
//3.建立語句 Statement是java.sql.Statement中的,在此是用來將SQL語句傳送到資料庫test中。
Statement st = conn.createStatement();
//4.執行語句 ResultSet用來儲存執行sql後的結果
ResultSet rs = st.executeQuery("select * from user");
//5.處理結果 用來遍歷當前結果。
while (rs.next()) {
//rs.getObject(1)表示獲取的是該user表中從上往下第一個欄位id的值,依次類推是name,和age的值.
System.out.println(rs.getObject(1) + "\t" + rs.getObject(2) +
"\t" + rs.getObject(3));
}
//6.釋放資源 的順序是:先開後關.
rs.close(); //釋放執行sql後的結果
st.close();//釋放sql語句傳送資料庫的操作
conn.close();//關閉與資料庫的連線
}
}
對於註冊驅動那塊為什麼使用class.forName更好呢,請看http://blog.sina.com.cn/s/blog_670c5a4001017e2e.html。謝謝大家