JDBC(1)-連線MySQL資料庫,及其基本概念
1、首先的知道這麼個事情sun公司提供了JDBC(用於執行SQL語句的Java API),但是JDBC不能直接操作資料庫,(“JDBC它只是一堆介面,沒有實現所以沒有具體操作資料庫的內容”),所以要使用JDBC操作資料庫,還需要各大資料庫廠商提供的JDBC驅動程式(也就是說sun提供了這麼一個介面,實現就交給了資料庫廠商,使大家掌握JDBC就能對各大資料實現操作)。
知道這麼件事後,就寫程式碼把!
2、連線MySQL資料庫
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
public class Test1 {
public static void main(String[] args) {
Connection conn = null;
Statement st = null;
ResultSet res = null;
try {
//1.註冊驅動
//註冊驅動有兩種方式,一種是DriverManager.registerDriver;一種Class.forName;有帖子說後者好。
//註冊的目的就是告訴JDBC要操作什麼資料庫,並把資料庫廠商提供的JDBC驅動程式碼傳過來
//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.建立連線 引數一:協議+訪問資料庫,引數二:使用者名稱,引數三:密碼
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/要操作資料庫名字", "root", "密碼");
//3.建立statement,跟資料庫打交道一定需要這個物件
st = conn.createStatement();
//4.執行直接查詢,得到結果集
String sql = "select * from emp;";
res = st.executeQuery(sql);
//5.遍歷查詢每一條記錄
while(res.next())
{
int empno = res.getInt("EMPNO");
String ename = res.getString("ENAME");
double sal = res.getDouble("SAL");
System.out.println("empno="+empno+" ename="+ename+" sal="+sal);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
//關閉資源的順序,誰先建立,則誰先關閉
try {
// 為了程式健壯
if(res!=null)
{
res.close();
}
if(st!=null)
{
st.close();
}
if(conn!=null)
{
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}