溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么實現(xiàn)Java和數(shù)據(jù)庫的連接

發(fā)布時間:2020-07-13 11:07:35 來源:億速云 閱讀:159 作者:Leah 欄目:編程語言

怎么實現(xiàn)Java和數(shù)據(jù)庫的連接?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

  Java 連接 MySQL數(shù)據(jù)庫需要驅(qū)動包,最新版下載地址為:http://dev.mysql.com/downloads/connector/j/,解壓后得到j(luò)ar庫文件,然后在對應(yīng)的項目中導(dǎo)入該庫文件。

創(chuàng)建一個以JDBC連接數(shù)據(jù)庫的程序,具體步驟:  

怎么實現(xiàn)Java和數(shù)據(jù)庫的連接

1. 加載驅(qū)動:

導(dǎo)入數(shù)據(jù)庫連接jar包,在工程目錄中創(chuàng)建lib文件夾,將下載好的JDBC放到該文件夾下,如下圖所示:

怎么實現(xiàn)Java和數(shù)據(jù)庫的連接

2. 添加JDBC:

右鍵工程名,在java build path中的Libraries分頁中選擇Add JARs...,選擇剛才添加的JDBC,如下圖:

怎么實現(xiàn)Java和數(shù)據(jù)庫的連接

3.在Mysql數(shù)據(jù)庫中進(jìn)行建表,和添加數(shù)據(jù)的操作。

CREATE TABLE emp(
   empno            INT(4)          PRIMARY KEY,
   ename            VARCHAR(10),
   job              VARCHAR(9),
   hiredate         DATE,
   sal              FLOAT(7,2)
) ;

怎么實現(xiàn)Java和數(shù)據(jù)庫的連接

4. 連接數(shù)據(jù)庫并讀取數(shù)據(jù):

數(shù)據(jù)庫名稱:sqltestdb

數(shù)據(jù)包名稱:emp

端口號:3306

用戶名:root

密碼:root

package sqldemo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class main {

    public static void main(String[] args) {
        //聲明Connection對象
        Connection con;
        //驅(qū)動程序名
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要訪問的數(shù)據(jù)庫名mydata
        String url = "jdbc:mysql://localhost:3306/sqltestdb";
        //MySQL配置時的用戶名
        String user = "root";
        //MySQL配置時的密碼
        String password = "123456";
        //遍歷查詢結(jié)果集
        try {
            //加載驅(qū)動程序
            Class.forName(driver);
            //1.getConnection()方法,連接MySQL數(shù)據(jù)庫?。?
            con = DriverManager.getConnection(url,user,password);
            if(!con.isClosed())
                System.out.println("Succeeded connecting to the Database!");
            //2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句??!
            Statement statement = con.createStatement();
            //要執(zhí)行的SQL語句
            String sql = "select * from emp";
            //3.ResultSet類,用來存放獲取的結(jié)果集??!
            ResultSet rs = statement.executeQuery(sql);
            System.out.println("-----------------");
            System.out.println("執(zhí)行結(jié)果如下所示:");  
            System.out.println("-----------------");  
            System.out.println("姓名" + "\t" + "職稱");  
            System.out.println("-----------------");  
             
            String job = null;
            String id = null;
            while(rs.next()){
                //獲取stuname這列數(shù)據(jù)
                job = rs.getString("job");
                //獲取stuid這列數(shù)據(jù)
                id = rs.getString("ename");

                //輸出結(jié)果
                System.out.println(id + "\t" + job);
            }
            rs.close();
            con.close();
        } catch(ClassNotFoundException e) {   
            //數(shù)據(jù)庫驅(qū)動類異常處理
            System.out.println("Sorry,can`t find the Driver!");   
            e.printStackTrace();   
            } catch(SQLException e) {
            //數(shù)據(jù)庫連接失敗異常處理
            e.printStackTrace();  
            }catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }finally{
            System.out.println("數(shù)據(jù)庫數(shù)據(jù)成功獲?。。?quot;);
        }
    }

}

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI