1. 程式人生 > >JDBC純驅動方式連線MySQL

JDBC純驅動方式連線MySQL

1 新建一個名為MysqlDemoJava Project

這裡有.tar.gz.zip兩種格式的包,因為在windows下都可以解壓縮,隨便下一個都行。

3 將下載的驅動包解壓縮後,將mysql-connector-java-5.1.38-bin.jar拷貝到專案中

4 在專案中建立一個名為MysqlDemoJava

5 MysqlDemo.java中編寫程式碼

package com.abc;

 

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Connection;

importjava.sql.Statement;

 

publicclass MysqlDemo {

    publicstaticvoid main(String[] args) throws Exception {

        Connection conn = null;

        String sql;

        // MySQL的JDBC URL編寫方式:jdbc:mysql://主機名稱:連線埠/資料庫的名稱?引數=值

        // 避免中文亂碼要指定useUnicode和characterEncoding

        String url = "jdbc:mysql://localhost:3306/test?"

                + "user=root&password=123456&useUnicode=true&characterEncoding=UTF8";

        try {

            // 之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,

            // 可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來,下面三種形式都可以

            Class.forName("com.mysql.jdbc.Driver");// 動態載入mysql驅動

            // or:

            // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();

            // or:

            // new com.mysql.jdbc.Driver();

            System.out.println("成功載入MySQL驅動程式");

            // 一個Connection代表一個數據庫連線

            conn = DriverManager.getConnection(url);

            // Statement裡面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等

            Statement stmt = conn.createStatement();

            sql = "createtable student(NO char(20),name varchar(20),primary key(NO))";

            intresult = stmt.executeUpdate(sql);// executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功

            if (result != -1) {

                System.out.println("建立資料表成功");

                sql = "insert into student(NO,name) values('2016001','劉大')";

                result = stmt.executeUpdate(sql);

                sql = "insert into student(NO,name) values('2016002','陳二')";

                result = stmt.executeUpdate(sql);

                sql = "select * from student";

                ResultSet rs = stmt.executeQuery(sql);// executeQuery會返回結果的集合,否則返回空值

                System.out.println("學號\t姓名");

                while (rs.next()) {

                    System.out.println(rs.getString(1)+ "\t" + rs.getString(2));// 入如果返回的是int型別可以用getInt()

                }

            }

        } catch(SQLException e) {

            System.out.println("MySQL操作錯誤");

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();

        } finally {

            conn.close();

        }

    }

}

執行結果: