首頁  >  文章  >  資料庫  >  怎麼使用MySQL進行JDBC程式設計與增刪改查

怎麼使用MySQL進行JDBC程式設計與增刪改查

WBOY
WBOY轉載
2023-05-30 21:37:11858瀏覽

Java的資料庫程式設計JDBC

概念

  • JDBC是用來執行sql語句的Java API,他是java中的資料庫連接規範,這個API由一些介面和類別組成。它提供了一個標準的API,使得Java開發人員可以統一存取多種關係資料庫

  • 本質是透過程式碼自行實作一個MySQL客戶端,透過網路和伺服器進行資料的交互,客戶端不能憑空出現,所以資料庫提供了一組API方便我們實作

  • 資料庫的種類有很多,不同的資料庫提供的API不太一樣,所以java為了解決這一問題提供了JDBC,java自帶的一種資料庫操作API,這種API覆蓋所有資料庫操作的操作方式

  • 本質上是java本身完成了JDBC API和資料庫API之間進行轉換

怎麼使用MySQL進行JDBC程式設計與增刪改查

使用步驟

#建立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);

#執行sql語句(按下回車執行sql語句)

int ret = statement.executeUpdate();
  • 執行update delete insert 使用executeUpdate() 方法

  • 執行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创建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执行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程式設計與增刪改查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除