JDBC(一)如何使用JDBC連接數(shù)據(jù)庫

一、什么是JDBC

Java數(shù)據(jù)庫連接,(Java Database Connectivity,簡稱JDBC)是[Java語言]中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的[應(yīng)用程序接口],提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法

二、簡單操作JDBC

步驟

1、導(dǎo)入數(shù)據(jù)庫驅(qū)動包(mysql、mssql、oracle等)
2、裝載數(shù)據(jù)庫驅(qū)動程序
3、獲取數(shù)據(jù)庫連接
4、獲取可執(zhí)行的數(shù)據(jù)語句對象
5、執(zhí)行語句
6、關(guān)閉連接

/**
 * @description JDBC連接數(shù)據(jù)庫
 * 
 * 1、導(dǎo)入數(shù)據(jù)庫驅(qū)動包(mysql、mssql、oracle等) 
 * 2、裝載數(shù)據(jù)庫驅(qū)動程序
 * 3、獲取數(shù)據(jù)庫連接
 * 4、獲取可執(zhí)行的數(shù)據(jù)語句對象
 * 5、執(zhí)行語句
 * 6、關(guān)閉連接
 * @version 1.0
 * @author mpmanyu.com
 * @update 2021年3月25日 下午6:33:59
 * 
 */
public class JdbcDemo1 {
public static void main(String[] args) {
    Connection conn = null;
    Statement statement = null;
    ResultSet rs = null;
    
try {
        //1裝載數(shù)據(jù)庫驅(qū)動
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        //2 獲取數(shù)據(jù)庫連接對象
        conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=shen", "shen", "123");
        //3 獲取執(zhí)行sql語句的statement對象
        statement = conn.createStatement();
        //4執(zhí)行sql語句得到結(jié)果集
        rs = statement.executeQuery("select * from userlogin");
        //5遍歷結(jié)果集
        while(rs.next()) {
            System.out.println(rs.getString(1)+"_"+rs.getString(2));
            
        }
        
        
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SQLException e) {
        
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally {
        /**
         * 關(guān)閉資源,關(guān)閉之前要判斷資源是否存在
         */
        if(rs !=null) {
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(statement!=null) {
            try {
                statement.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(conn!=null) {
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}
}

三、JDBC對象與方法

1、Connection:數(shù)據(jù)庫連接

createStatement() :創(chuàng)建執(zhí)行sql語句的對象
prepareStatement(sql): 創(chuàng)建執(zhí)行sql語句的預(yù)加載對象
prepareCall(sql) :創(chuàng)建執(zhí)行存儲過程的對象
setAutoCommit(boolean autoCommit) :設(shè)置事務(wù)的自動提交
commit():提交事務(wù)
rollback():回滾事務(wù)

2、Statement對象

executeQuery(String sql):查詢
executeUpdate(String sql):增刪改
addBatch(String sql):把多條的sql語句放進(jìn)同一個批處理中(添加批處理)
executeBatch():向數(shù)據(jù)庫發(fā)送一批sql語句執(zhí)行(執(zhí)行批處理)
statement.clearBatch();清空批處理

3、PreparedStatement對象(預(yù)加載,盡量使用此對象,可防注入)

executeQuery():查詢
executeUpdate():增刪改
preparedStatement.addBatch();添加批處理
preparedStatement.executeBatch();執(zhí)行批處理
preparedStatement.clearBatch();清空批處理
setString(1,id):第一個參數(shù)表示第幾個占位符【也就是?號】,第二個參數(shù)表示值是多少

4、ResultSet對象

getObject(String columnName):獲取Object類型數(shù)據(jù)
getString(String columnName) :獲取String類型數(shù)據(jù)
next():游標(biāo)下移

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容