java學習筆記二。 2019.6.23 週日

jdbc基礎
一、jdbc簡介和mysql驅動的加載
程序要通過sql語句來自動化操作數據庫,必須要用一個類庫,類庫要提供executesql(“insert into。。。”)等方法
jdbc是java中提供的標準訪問數據庫的接口,訪問不同dbms的底層是不一樣的,jdbc把訪問數據庫的方法進行了統一,訪問mysql、oracle、db2等不同數據庫的用法幾乎一模一樣。
jdbc是規範,被不同的數據庫廠商提供jdbc的實現,稱之爲jdbc驅動。
jdbc的核心類:drivermanager用於管理驅動/獲得連接,connection用於連接dbms,statement用於執行sql語句,resultset用戶獲取執行結果,jdbc相關的核心類都在java.sql中
二、jdbc連接mysql(英文輸入法,下面這裏面有可能有拼音輸入法輸入的內容)
1、將mysql的jdbc驅動mysql-connector-java-***-bin.jar添加到項目的庫中
2、Class.forName("com.mysql.jdbc.Driver")加載mysql的jdbc驅動(大小寫敏感)
3、Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/demo1?seUnicode=true&characterEncoding=UTF-8","root",“root”)獲得和dbms的連接,不要引用錯了mysql驅動jar包中也有一個同名的connection
參數localhost是本機的地址,也可以輸入電腦的ip地址;參數demo1是數據庫的名字,已實際的爲準;後面是編碼。
4、PreparedStatement ps=conn.prepareStatement("inset into T_Persons(name,age,gender) values('mingzi',23,1)");
5、int i=ps.executeUpdate();執行sql語句,返回值爲受影響的行數

package com.rupeng.jdbctest1;

import java.sql.DriverManager;
import java.sql.SQLException;

//import java.sql.DriverManager;

public class Test1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        Class.forName("com.mysql.jdbc.Driver");//加載JDBC驅動
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("mysql jdbc驅動加載失敗"+e.getMessage());
        return;
    }
    try {
        DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("連接失敗"+e.getMessage());
    }

}

}

三、

PreparedStatement ps=conn.prepareStatement(insert into t_persons(name,age,gender)values('zhaozhao',22,1));
int i=ps.executeUpdate();
//媽蛋,mac上面的vbox,又出幺蛾子啦啦啦
package com.rupeng.jdbctest1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

//import java.sql.DriverManager;

public class Test1 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        Class.forName("com.mysql.jdbc.Driver");//加載JDBC驅動,注意大小寫
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("mysql jdbc驅動加載失敗"+e.getMessage());
        return;
    }

    /*Connection con=null;
    PreparedStatement stmt=null;
    try {
         con=DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
         System.out.println(con.getClass());
        // 連接失敗Communications link failure  Last packet sent to the server was 0 ms ago.

    // con=DriverManager.getConnection("jdbc:mysql://localhot/study1?autoReconnect=true&characterEncoding=UTF-8", "root", "123456");
        //報錯Could not create connection to database server. Attempted reconnect 3 times. Giving up.

        stmt=con.prepareStatement("insert into_orders (number,price,customersid,typeid) values('k003',200,1,1)");
         System.out.println(stmt.getClass());
         int i=stmt.executeUpdate();
         System.out.println("成功執行"+i+"條信息");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("連接失敗"+e.getMessage());
    }*/

    try {
        Connection con=DriverManager.getConnection("jdbc:mysql://localhot/study1?seUnicode=true&characterEncoding=UTF-8", "root", "123456");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.out.println("連接失敗"+e.getMessage());
    }

}

}

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