JDBC

直接用Java對數(shù)據(jù)庫進(jìn)行操作

JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序,同時,JDBC也是個商標(biāo)名。

首先要在maven里導(dǎo)入跟數(shù)據(jù)庫相連對jar包
百度搜索 Maven --> mvnrepository --> 輸入搜索mysql


image.png

點(diǎn)擊jar即為我們所需要對jar包
然后下載下來 存放到一個位置


image.png

1)第一個是DriverManager 她是一個實(shí)現(xiàn)類,是一個工廠,我要生成mysql的,我要生成oracle的等等,那就是這個工廠來決定生成對象是什么
2)然后Driver是一個驅(qū)動的接口,也就是說我得告訴你,我生成它那我得應(yīng)用什么呀,應(yīng)用我mysql的驅(qū)動,應(yīng)用我oracle的驅(qū)動
3)通過DriverManager進(jìn)行鏈接,連接到數(shù)據(jù)庫,生成connection對象
  1. 這個connection對象生成之后,就可以生成執(zhí)行語句,如果他是一個查詢結(jié)果那么可以把這個結(jié)果放到Resultset結(jié)果集接口里,由他進(jìn)行處理

開始實(shí)驗

首先在項目里把驅(qū)動加進(jìn)來 也就是jar包


image.png

有以下的東西就表明加進(jìn)來了


image.png

新建包新建類 開始測試連接

package com.neuedu.dataconnection;

import java.sql.*;

public class MysqlConn {
    public static void main(String[] args) {
        /*
        * 1:加載驅(qū)動
        * 2:進(jìn)行連接數(shù)據(jù)庫
        *    1)使用DriverManager進(jìn)行連接
        *    2)生成對象Connection
        * 3:PareparedStatement對象執(zhí)行sql
        *  //4:結(jié)果集處理-- 只針對select的 處理
        *        而對增刪改不作處理,返回的是影響的行數(shù) -- 添加,刪除,修改
        *
        *  //5:提交,--使用自動提交
        *
        *  //6:關(guān)閉:從內(nèi)向外
        * */
   //1:加載驅(qū)動
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

//  2:進(jìn)行連接數(shù)據(jù)庫

        Connection connection=null;
        PreparedStatement pstm=null;
        ResultSet rs=null;
        /*
        * 1:url: jdbc:mysql://ip:3306/databasename
        *       jdbc:使用jdbc連接數(shù)據(jù)庫
        *       mysql:連接的mysql的數(shù)據(jù)庫,使用mysql的驅(qū)動
        *       IP:數(shù)據(jù)庫所在的服務(wù)器地址:如果是本地:127.0.0.1|localhost,如果不是本地IP
        *       3306:端口號,默認(rèn)
        *       databasename:數(shù)據(jù)庫名
        *  2:username:數(shù)據(jù)庫用戶名
        *  3:password:用戶名對應(yīng)的密碼
        * */
        String url="jdbc:mysql://127.0.0.1:3306/hr";
        String username="root";
        String password="123456";
        try {
            connection= DriverManager.getConnection(url,username,password);
           // 3:PreparedStatement對象執(zhí)行sql
            String sql="select * from employees";
            pstm=connection.prepareStatement(sql);//預(yù)編譯SQL語句
            //4:結(jié)果集處理 只有select用的query,其他的增刪改都用executeUpdate  
          rs = pstm.executeQuery();
//ResultSet相當(dāng)于把查詢出來的所有數(shù)據(jù)放到了表格里面,然后它一行一行的讀 提取數(shù)據(jù)
         while(rs.next()){  
//通過列名列號都可以把數(shù)據(jù)提取出來
             System.out.println(rs.getObject(1)+"   "+rs.getObject("salary"));
         }
         //5:自動提交
            /* System.out.println(connection);*/
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //6:關(guān)閉
            try {
                if(rs!=null){

                    rs.close();

                  }
                  if(pstm!=null){
                    pstm.close();
                  }

                  if(connection!=null){
                    connection.close();
                  }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        }

    }
}

測試成功如下:


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

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

  • 一、 JDBC概述 JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用...
    圣賢與無賴閱讀 539評論 0 0
  • 本文主要內(nèi)容 1、JDBC 2、DBUtils 01JDBC概念和數(shù)據(jù)庫驅(qū)動程序 A: JDBC概念和數(shù)據(jù)庫驅(qū)動程...
    勝浩_ae28閱讀 500評論 0 0
  • 以下我是歸納的JDBC知識點(diǎn)圖: 圖上的知識點(diǎn)都可以在我其他的文章內(nèi)找到相應(yīng)內(nèi)容。 JDBC常見面試題 JDBC操...
    Java3y閱讀 1,779評論 0 15
  • JDBC簡介 SUN公司為了簡化、統(tǒng)一對數(shù)據(jù)庫的操作,定義了一套Java操作數(shù)據(jù)庫的規(guī)范,稱之為JDBC。JDBC...
    奮斗的老王閱讀 1,646評論 0 51
  • 1月初芒市教育局下發(fā)文件后,抱著試試看的心態(tài)提交了材料,2月微信上吳虹校長給我發(fā)來了一份特殊的錄取通知書,學(xué)員...
    N1252楊紅梅閱讀 153評論 0 2

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