JDBCJava語言提供訪問和操作數(shù)據(jù)庫的一種途徑,通過使用JDBC可以操作任意的SQL語句,來訪問和操作數(shù)據(jù)庫

JDBC編程步驟:

*       加載數(shù)據(jù)庫驅(qū)動(jar 文件)

*       獲得數(shù)據(jù)庫連接

*       創(chuàng)建語句 (SQL)

*       執(zhí)行查詢

*       遍歷結(jié)果集

*       關(guān)閉數(shù)據(jù)庫連接

示例小程序:

package com.dr.jdbc;

/**

 * DriverManager 驅(qū)動程序管理器 在數(shù)據(jù)庫和相應(yīng)驅(qū)動程序之間建立連接

 * Connection 對象代表與數(shù)據(jù)庫的連接,也就是在已經(jīng)加載的Driver和數(shù)據(jù)庫之間建立連接

 * Statement 提供在基層連接上運行SQL語句,并且訪問結(jié)果

 * ResultSet Statement執(zhí)行SQL語句時,有時會返回ResultSet結(jié)果集,包含的是查詢的結(jié)果集

 */

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class Test {

    public static void main(String[] args) {   

            query();

    }   

    public static void query(){   

            Connection conn = null;   

            try {

                       //1.加載數(shù)據(jù)庫驅(qū)動

                    Class.forName("com.mysql.jdbc.Driver");   

                    //2.獲得數(shù)據(jù)庫連接

                    //DriverManager 驅(qū)動程序管理器 在數(shù)據(jù)庫和相應(yīng)驅(qū)動程序之間建立連

                    conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc_db", "root", "1234"); 

                     //3.創(chuàng)建語句

                    String sql = "select * from UserTbl";   

                    //返回一個執(zhí)行SQL的句柄

                    Statement stmt = conn.createStatement(); 

                    //返回查詢的

                    //4.執(zhí)行語句

                    ResultSet rs = stmt.executeQuery(sql);

                    //5.遍歷結(jié)果集

                    while(rs.next()){   

                            int id = rs.getInt(1);   

                            String username = rs.getString(2);   

                            String password = rs.getString(3);   

                            int age = rs.getInt(4);   

                            System.out.println(id+":"+username+":"+password+":"+age);   

                    }   

            } catch (Exception e) {   

                    e.printStackTrace();   

            }finally{   

                    if(conn!=null){   

                            try {    //關(guān)閉數(shù)據(jù)庫連接

                                    conn.close();   

                            } catch (SQLException e) {   

                                    conn = null;   

                                    e.printStackTrace();   

                            }   

                    }   

            }   

    }

}