2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

使用MySQL數據庫,實現你的第一個JDBC程序

更新時間:2021-06-07 來源:黑馬程序員 瀏覽量:

1577370495235_學IT就到黑馬程序員.gif

熟悉了JDBC的編程步驟后,接下來通過一個案例并依照上一小節所講解的步驟來演示JDBC的使用。此案例會從tb_user表中讀取數據,并將結果打印在控制臺。

需要說明的是,Java中的JDBC是用來連接數據庫從而執行相關數據相關操作的,因此在使用JDBC時,一定要確保安裝有數據庫。常用的關系型數據庫有MySQL和Oracle,本書就以連接MySQL數據庫為例,使用JDBC執行相關操作。

案例的具體實現步驟如下:

(1) 搭建數據庫環境

在MySQL數據庫中創建一個名稱為jdbc的數據庫,然后在該數據庫中創建一個名稱為tb_user的表,創建數據庫和表的SQL語句如下:

CREATE DATABASE jdbc;
USE jdbc;
CREATE TABLE tb_user(
        id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARCHAR(40),
        sex VARCHAR(2),    
        email VARCHAR(60),
        birthday DATE        
);
上述創建tb_user表時添加了id、NAME、sex、email和birthday共5個字段,其中NAME字段名稱為大寫形式,這是因為name字段在MySQL數據庫中屬于關鍵字,所以為了方便區分,這里將name字段名稱全部用大寫表示。

數據庫和表創建成功后,再向tb_user表中插入3條數據,插入的SQL語句如下所示:

INSERT INTO tb_user(NAME,sex,email,birthday) 
VALUES ('Jack','男','jack@126.com','1980-01-04'),
('Tom','男','tom@126.com','1981-02-14'),
('Lucy','女','lucy@126.com','1979-12-28');

為了查看數據是否添加成功,使用SELECT語句查詢tb_user表中的數據,執行結果如圖1所示。

實現JDBC程序

圖1 tb_user表中的數據

注意:

數據庫和表創建成功后,如果使用的是命令行窗口向tb_user表中插入帶有中文的數據,命令行窗口可能會報錯,同時從MySQL數據庫查詢帶有中文數據還可能會顯示亂碼,這是因為MySQL數據庫默認使用的是UTF-8編碼格式,而命令行窗口默認使用的是GBK編碼格式,所以執行帶有中文數據的插入語句會出現解析錯誤。為了在命令行窗口也能正常向MySQL數據庫插入中文數據,以及查詢中文數據,可以在執行插入語句和查詢語句前,先在命令行窗口執行以下兩條命令:

set character_set_client=gbk;
set character_set_results=gbk;

執行完上述兩條命令后,再次在命令行窗口執行插入和查詢操作就不再出現亂碼問題了。

(1) 創建項目環境,導入數據庫驅動

在Eclipse中新建一個名稱為chapter09的Java項目,使用鼠標右鍵單擊項目名稱,然后選擇【New】→【Folder】,在彈出窗口中將該文件夾命名為lib并單擊【Finish】按鈕,此時項目根目錄中就會出現一個名稱為lib的文件夾。將下載好的MySQL數據庫驅動文件Jar包(mysql-connector-java-5.1.46-bin.jar)復制到項目的lib目錄中,并使用鼠標右擊該JAR包,在彈出框中選擇【Build Path】→【Add to Build Path】,此時Eclipse會將該JAR包發布到類路徑下。加入驅動后的項目結構如圖2所示。

實現JDBC程序

其中,MySQL驅動文件可以在其官網地址:http://dev.mysql.com/downloads/connector/j/頁面中下載,單擊頁面Platform Independent (Architecture Independent), ZIP Archive后的“Download”按鈕,并在新打開的窗口中的單擊 “No thanks, just start my download”超鏈接后即可下載驅動壓縮包(本書編寫時的最新驅動版本文件是mysql-connector-java-5.1.46.zip),解壓后即可得到相應JAR包。

(1) 編寫JDBC程序

在項目chapter09的src目錄下,新建一個名稱為com.itheima.jdbc的包,并在該包中創建類Example01。在該類讀取數據庫中的tb_user表,并將結果輸出到控制臺,如文件1所示。

文件1 Example01.java

     import java.sql.*;
     public class Example01 {
         public static void main(String[] args) throws SQLException  {
             Connection conn =null;
             Statement stmt =null;
             ResultSet rs =null;
             try {
                 // 1. 加載數據庫驅動
                 Class.forName("com.mysql.jdbc.Driver");
                 // 2.通過DriverManager獲取數據庫連接
                 String url = "jdbc:mysql://localhost:3306/jdbc";
                 String username = "root";
                 String password = "root";
                 conn = DriverManager.getConnection(url,username, password);
                 // 3.通過Connection對象獲取Statement對象
                 stmt = conn.createStatement();
                 // 4.使用Statement執行SQL語句
                 String sql = "select * from tb_user";
                 rs = stmt.executeQuery(sql);
                 // 5. 操作ResultSet結果集
                 System.out.println("id    |    name      |    sex  "
                                     + "   |    email        |    birthday ");
                 while (rs.next()) {
                     int id = rs.getInt("id");    // 通過列名獲取指定字段的值
                     String name = rs.getString("name");
                     String sex = rs.getString("sex");
                     String email = rs.getString("email");
                     Date birthday = rs.getDate("birthday");
                     System.out.println(id + "    |    " + name + "    |    "
                                + sex + "    |    " + email + "    |    " + birthday);
                 }
             } catch (Exception e) {
                 e.printStackTrace();
             } finally {
                 // 6.關閉連接,釋放資源
                 if(rs !=null){ rs.close(); }
                 if(stmt !=null){ stmt.close(); }
                 if(conn !=null){ conn.close(); }
             }
         }
     }

運行結果如圖3所示。

實現JDBC程序

圖3 運行結果

文件1中,首先注冊了MySQL數據庫驅動,通過DriverManager獲取一個Connection對象,然后使用Connection對象創建一個Statement對象,Statement對象通過executeQuery(String sql)方法執行了SQL語句,并返回結果集ResultSet,接下來,通過遍歷ResultSet得到查詢結果并輸出,最后關閉連接,釋放數據庫資源。

從圖3中可以看到,tb_user表中的數據已被打印在了控制臺。至此第一個JDBC程序實現成功。

注意:

在進行數據庫連接時,連接MySQL數據庫的username和password都要與創建MySQL數據庫時設置的登錄賬戶一致,否則登錄失敗。本章以及后續案例都默認MySQL數據庫登錄的username和password都為“root”。






猜你喜歡:

實現JDBC程序一共需要幾步?

Java開發中Netty線程模型的原理是什么?

error和exception的有什么區別?

黑馬程序員java培訓課程

分享到:
在線咨詢 我要報名
和我們在線交談!