欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL詳解進行JDBC編程與增刪改查方法

 更新時間:2022年06月15日 11:46:16   作者:亞太地區(qū)百大最帥面孔第101名  
JDBC是指Java數據庫連接,是一種標準Java應用編程接口( JAVA API),用來連接 Java 編程語言和廣泛的數據庫。從根本上來說,JDBC 是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問到底層數據庫

Java的數據庫編程JDBC

概念

  • JDBC是一種用于執(zhí)行sql語句的Java API,他是java中的數據庫連接規(guī)范,這個API由一些接口和類組成。它為java開發(fā)人員操作數據庫提供了一個標準的API,可以為多種關系數據庫提供統一訪問
  • 本質是通過代碼自己實現一個MySQL客戶端,通過網絡和服務器進行數據的交互,客戶端不能憑空出現,所以數據庫提供了一組API方便我們實現
  • 數據庫的種類有很多,不同的數據庫提供的API不太一樣,所以java為了解決這一問題提供了JDBC,java自帶的一種數據庫操作API,這種API覆蓋所有數據庫操作的操作方式
  • 本質上是java自身完成了JDBC API和數據庫API之間進行轉換

使用步驟

創(chuàng)建DataSource對象,這個對象就描述了數據庫服務器在哪

DataSource dataSource = new MysqlDataSource();
		//設置數據庫所在的地址
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/lmp?characterEncoding=utf8&useSSL=false");
        //設置登錄數據庫的用戶名
        ((MysqlDataSource)dataSource).setUser("root");
        //設置登錄數據庫的密碼
        ((MysqlDataSource)dataSource).setPassword("woshizhu123");

通過Connection連接數據庫(輸入密碼連接成功)

//import java.sql.Connection;
 Connection connection  = dataSource.getConnection();

拼接sql語句(寫入sql語句)

String sql = "insert into student values(1,'張三')";

將sql語句包裝成對象

PreparedStatement statement = connection.prepareStatement(sql);

執(zhí)行sql語句(按下回車執(zhí)行sql語句)

int ret = statement.executeUpdate();
  • 執(zhí)行 update delete insert 使用 executeUpdate() 方法
  • 執(zhí)行 select 使用 executeQuery() 方法
  • 使用 executeQuery() 方法 會返回一個resultSet集合, 包含查找到的數據, 初始情況下resultSet不指向任一行記錄, 使用next,讓他指向第一條記錄, 再使用next指向下一條記錄

釋放資源

 statement.close();
 connection.close();

利用JDBC實現增加(insert)

public class TestJDBC {
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("woshizhu123");
        Connection connection = dataSource.getConnection();
        System.out.println("輸入id");
        int id = scanner.nextInt();
        System.out.println("輸入名字");
        String name = scanner.next();
        String sql = "insert into student values(?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        int ret = statement.executeUpdate();
        if(ret == 1){
            System.out.println("插入成功");
        }else {
            System.out.println("插入失敗");
        }
        statement.close();
        connection.close();
    }
}

利用JDBC實現刪除(delete)

public class TestJDBCDelete
{
    public static void main(String[] args) throws SQLException {
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("woshizhu123");
        Connection connection = dataSource.getConnection();
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入要刪除的id");
        int id = scanner.nextInt();
        String sql = "delete from student where id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1,id);
        int ret = preparedStatement.executeUpdate();
        System.out.println(ret);
        preparedStatement.close();
        connection.close();
    }

利用JDBC實現修改(update)

public class TestJDBCUpdate {
    public static void main(String[] args) throws SQLException {
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("woshizhu123");
        Connection connection = dataSource.getConnection();
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入要修改的學生id");
        int id = scanner.nextInt();
        System.out.println("請輸入要修改的學生姓名");
        String name = scanner.next();
        String sql = "update student set name = ? where id = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);
        statement.setInt(2,id);
        int ret = statement.executeUpdate();
        System.out.println(ret);
        statement.close();
        connection.close();
    }
}

利用JDBC實現查找(select)

public static void testJDBCSelect() throws SQLException {
        //1創(chuàng)建DataSource對象
        DataSource dataSource = new MysqlDataSource();
        //2連接數據庫
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_5_31?characterEncoding=utf-8&useSSL=true");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("listen");
        Connection connection = dataSource.getConnection();
        //3拼接sql
        String sql = "select * from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        //4執(zhí)行sql
        ResultSet resultSet = statement.executeQuery();
        //5遍歷得到的集合
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            int classId = resultSet.getInt("classId");
            System.out.println("id " + id + " name " + name + " classId " + classId);
        }
        //6關閉資源
        resultSet.close();
        statement.close();
        connection.close();
    }

到此這篇關于MySQL詳解進行JDBC編程與增刪改查方法的文章就介紹到這了,更多相關MySQL JDBC編程內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mysql配置文件的使用教程

    mysql配置文件的使用教程

    這篇文章主要介紹了mysql配置文件的使用教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • Mysql鎖機制之行鎖、表鎖、死鎖的實現

    Mysql鎖機制之行鎖、表鎖、死鎖的實現

    本文主要介紹了Mysql鎖機制之行鎖、表鎖、死鎖的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • MySQL8.0.28安裝教程詳細圖解(windows?64位)

    MySQL8.0.28安裝教程詳細圖解(windows?64位)

    如果電腦上已經有MySQL數據庫再進行重做往往會遇到問題,下面這篇文章主要給大家介紹了關于windows?64位系統下MySQL8.0.28安裝教程的詳細教程,文章通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • MySQL5.6.22 綠色版 安裝詳細教程(圖解)

    MySQL5.6.22 綠色版 安裝詳細教程(圖解)

    本文通過圖文并茂的形式給大家介紹了MySQL5.6.22 綠色版 安裝詳細教程,非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • 介紹使用WordPress時10個常用的MySQL查詢

    介紹使用WordPress時10個常用的MySQL查詢

    這篇文章主要介紹了介紹使用WordPress時10個常用的MySQL查詢,許多用戶在使用WordPress時選擇使用MySQL,本文的整理對于剛剛上手的用戶來說非常有用,需要的朋友可以參考下
    2015-04-04
  • mysql替換表中的字符串的sql語句

    mysql替換表中的字符串的sql語句

    替換字段里數據內容部分字符串,這個在替換網址呀什么的最經常用了,發(fā)布一下做個筆記
    2008-06-06
  • MYSQL METADATA LOCK(MDL LOCK) 理論及加鎖類型測試

    MYSQL METADATA LOCK(MDL LOCK) 理論及加鎖類型測試

    這篇文章主要介紹了MYSQL METADATA LOCK(MDL LOCK)的內容,有理論知識和加鎖類型測試的以下代碼,感興趣的朋友請參考下午文
    2021-09-09
  • MySQL數據庫中數值字段類型長度int(11)和Decimal(M,D)詳解

    MySQL數據庫中數值字段類型長度int(11)和Decimal(M,D)詳解

    這篇文章主要介紹了MySQL數據庫中數值字段類型長度int(11)和Decimal(M,D)字段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 安裝使用Percona XtraBackup來備份恢復MySQL的教程

    安裝使用Percona XtraBackup來備份恢復MySQL的教程

    這篇文章主要介紹了安裝使用Percona XtraBackup來備份恢復MySQL的教程,文中的示例環(huán)境基于CentOS系統,需要的朋友可以參考下
    2015-12-12
  • Mysql事務隔離級別原理實例解析

    Mysql事務隔離級別原理實例解析

    這篇文章主要介紹了Mysql事務隔離級別原理實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03

最新評論