JDBC开发之四大核心API:DriverManager Connection Statement ResultSet

DriverManager

方法都是静态的

注册驱动

在Mysql5之后我们就不用注册驱动了

在jar包里已经写好了

读取文件

第二个方法

如果连接的是主机mysql并且端口是默认的3306

则可以简化书写

代码书写

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;


public class Main {

    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
//        Class.forName("com.mysql.cj.jdbc.Driver");

        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        //定义SQL语句
        String sql = "update tbl_user set age = 21 where id=1";

        //获取执行SQL的对象
        Statement stmt = conn.createStatement();

        //执行SQL
        int count1 = stmt.executeUpdate(sql);

        //处理结果
        System.out.println(count1);

        //释放资源
        stmt.close();
        conn.close();
    }

}

Connection

数据库连接对象

非常重要的功能

事物管理

sql语句设置被事物管理

要不同时成功 要不同时失败

这样用异常包围

在加上修饰的代码

try {
    //开启事物
    conn.setAutoCommit(false);

    //执行SQL
    int count1 = stmt.executeUpdate(sql1);
    int count2 = stmt.executeUpdate(sql2);

    //处理结果
    System.out.println(count1);
    System.out.println(count2);

    //提交事务
    conn.commit();
} catch (Exception e) {

    //回滚事务
    conn.rollback();

    e.printStackTrace();
}

整体代码

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


public class Main {

    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
//        Class.forName("com.mysql.cj.jdbc.Driver");

        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        //定义SQL语句
        String sql1 = "update tbl_user set age = 21 where id=1";
        String sql2 = "update tbl_user set age = 21 where id=2";

        //获取执行SQL的对象
        Statement stmt = conn.createStatement();

        try {
            //开启事物
            conn.setAutoCommit(false);

            //执行SQL
            int count1 = stmt.executeUpdate(sql1);
            int count2 = stmt.executeUpdate(sql2);

            //处理结果
            System.out.println(count1);
            System.out.println(count2);

            //提交事务
            conn.commit();
        } catch (Exception e) {

            //回滚事务
            conn.rollback();

            e.printStackTrace();
        }

        //释放资源
        stmt.close();
        conn.close();
    }

}

Statement

执行SQL语句

处理结果

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;


public class Main {

    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        //定义SQL语句
        String sql = "update tbl_user set age = 21 where id=1";

        //获取执行SQL的对象
        Statement stmt = conn.createStatement();

        //执行SQL
        int count = stmt.executeUpdate(sql);//执行完DML语句 受影响的行数

        //处理结果
        System.out.println(count>0?"修改成功":"修改失败");

        //释放资源
        stmt.close();
        conn.close();
    }

}

创建新的数据库

删除数据库

ResultSet

查询相关的API

将来我们的查询代码使用频率最高

查询相关的API

将来我们的查询代码使用频率最高

书写代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class Main {

    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        //定义SQL语句
        String sql = "select * from tbl_user";

        //获取statement对象
        Statement stmt=conn.createStatement();

        //执行SQL
        ResultSet rs=stmt.executeQuery(sql);

        //遍历集合
        while(rs.next()){
            //获取数据
            int id=rs.getInt(1);
            String name=rs.getString(2);
            String age=rs.getString(3);
            String gender=rs.getString(4);
            System.out.println(id+" "+name+" "+age+" "+gender);
        }

        //释放资源
        rs.close();
        conn.close();
    }

}

方法重载

参数改为列的名称也行

案例

数据对象是用java对象封装的

创建实体类

成员属性和数据库里面的字段名一一对应

封装数据到实体类里面去

然后放入集合容器

相关推荐

  1. 业务架构的核心元素

    2024-06-12 03:58:05       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 03:58:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 03:58:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 03:58:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 03:58:05       18 阅读

热门阅读

  1. Spring是什么??IOC又是什么??

    2024-06-12 03:58:05       8 阅读
  2. 学习PLC+LabVIEW

    2024-06-12 03:58:05       7 阅读
  3. 【VUE3】自定义防抖指令

    2024-06-12 03:58:05       8 阅读
  4. controller_manager卡在loading_controller

    2024-06-12 03:58:05       9 阅读
  5. 中继器简介

    2024-06-12 03:58:05       8 阅读
  6. 【MySQL】(基础篇一)—— SQL介绍和前置知识

    2024-06-12 03:58:05       5 阅读
  7. BGP宣告+自动汇总问题

    2024-06-12 03:58:05       6 阅读
  8. 2024.6.11

    2024-06-12 03:58:05       8 阅读