最簡單的使用JDBC[連接數據庫] mysql 2019年3月18日

最極簡版本的, 我們這裏以mysql爲例:

首先要創建maven工程, 需要引入jar包:,這裏需要注意, 如果你安裝的是mysql最新版本8以上的, 下面有些地方需要更改,具體就是mysql連接的url, 和5版本的不一樣,具體解決請自行百度哈.這裏只演示mysql5版本的😄

依賴:

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.21</version>
</dependency>

第一步, 連接驅動

 //連接驅動
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("連接驅動失敗!!");
            e.printStackTrace();
        }

第二步, 獲取連接 conn

//創建連接conn
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
        } catch (SQLException e) {
            System.out.println("創建連接失敗!!");
            e.printStackTrace();
        }

第三步, 獲取sql的執行者:

//連接者創建完成之後創建執行者
        Statement state = null;
        try {
            state = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("創建執行者完成!!");
            e.printStackTrace();
        }

第四步, 執行sql語句, 這裏我寫了三個, 分別爲查詢, 增加, 更新,

//執行者開始執行查詢sql語句
        ResultSet resultSet = null;
        try {
            resultSet = state.executeQuery("SELECT * FROM  person");
        } catch (SQLException e) {
            System.out.println(" =sql查詢執行失敗! ");
            e.printStackTrace();
        }

        if (resultSet != null) {
            try {
                while (resultSet.next()) {
                    System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //執行者開始執行查詢sql語句
        try {
            //boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的話, 這個方法會返回false的,具體看下面截圖描述
            int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
            System.out.println(" =插入->>> " + execute);
        } catch (SQLException e) {
            System.out.println(" =執行插入失敗! ");
            e.printStackTrace();
        }

        //執行者開始執行查詢sql語句
        try {
            int i = state.executeUpdate("update person set name='王大哥' where id=128");
            System.out.println(" =更新->>> "+i );
        } catch (SQLException e) {
            System.out.println("更新失敗!");
            e.printStackTrace();
        }

上面關於 '插入'  有一個地方有疑問的話: 查詢這個地方:http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html

懶得點開的話就看下面截圖中的這句話

第五步:處理結果集

其實上面已經處理結果集了啊啊啊啊啊啊

第六步, 關閉所有連接

        // 執行完畢之後, 關閉所有連接
        try {
            resultSet.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            state.close();
        } catch (SQLException e) {

        }
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

完事搞定了;下面貼一下

打印結果如下

這是現在表結果:

 

 

 

相關代碼:

import java.sql.*;

public class ConnectByJDBC {
    public static void main(String[] args) {

        //連接驅動
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("連接驅動失敗!!");
            e.printStackTrace();
        }
        //創建連接conn
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF8", "root", "root");
        } catch (SQLException e) {
            System.out.println("創建連接失敗!!");
            e.printStackTrace();
        }
        //連接者創建完成之後創建執行者
        Statement state = null;
        try {
            state = conn.createStatement();
        } catch (SQLException e) {
            System.out.println("創建執行者完成!!");
            e.printStackTrace();
        }
        //執行者開始執行查詢sql語句
        ResultSet resultSet = null;
        try {
            resultSet = state.executeQuery("SELECT * FROM  person");
        } catch (SQLException e) {
            System.out.println(" =sql查詢執行失敗! ");
            e.printStackTrace();
        }

        if (resultSet != null) {
            try {
                while (resultSet.next()) {
                    System.out.println(resultSet.getString(1) + "-----" + resultSet.getString(2) + "-----" + resultSet.getString(3) + "-----" + resultSet.getString(4));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //執行者開始執行查詢sql語句
        try {
            //boolean execute = state.execute("insert into person (id,address,age,name ) values (null,'河北',28,'王1')"); 如果是插入的話, 這個方法會返回false的,
            int execute = state.executeUpdate("insert into person (id,address,age,name ) values (null,'河北',28,'王1')");
            System.out.println(" =插入->>> " + execute);
        } catch (SQLException e) {
            System.out.println(" =執行插入失敗! ");
            e.printStackTrace();
        }

        //執行者開始執行查詢sql語句
        try {
            int i = state.executeUpdate("update person set name='王大哥' where id=128");
            System.out.println(" =更新->>> "+i );
        } catch (SQLException e) {
            System.out.println("更新失敗!");
            e.printStackTrace();
        }

        // 執行完畢之後, 關閉所有連接
        try {
            resultSet.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            state.close();
        } catch (SQLException e) {

        }
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章