JDBC操作1:实现对数据库crud操作

本文详细介绍了JDBC的概念,包括其定义、实现形式和关键API。展示了如何通过JDBC进行数据库CRUD操作,包括加载驱动、连接数据库、执行SQL及关闭资源。涵盖了查询、插入、更新和删除操作的示例代码。

目录

1. JDBC概念

1.1 什么是JDBC

1.2 JDBC实现形式

1.3 jdbc操作API介绍

1.4 jdbc操作步骤(固定)

2. JDBC实现对数据库crud操作

2.1 第一步 加载数据库驱动

2.2 代码实现查询

2.3 代码实现添加操作

2.4 代码实现修改操作

2.5 代码实现删除操作


1. JDBC概念

1.1 什么是JDBC

(1)Java Database Connectivity,java数据库连接

(2)java里面针对操作数据库,提供一套规范,好比是一些接口,比如操作mysql数据库,mysql提供这些接口实现类

1.2 JDBC实现形式

jdbc是java操作数据库一套规范(接口),由具体数据库提供这些规范实现,以jar包形式提供

 

1.3 jdbc操作API介绍

 

(1)DriverManager:注册驱动,创建连接

(2)Connection:数据库连接对象

(3)Statement、PreparedStatement、CallableStatment:执行sql语句对象

(4)Result:查询之后结果

1.4 jdbc操作步骤(固定)

第一步 加载数据库驱动

(1)把数据库实现jar包导入项目中

(2)通过反射代码加载驱动对象

第二步 创建数据库连接

第三步 编写sql语句,执行sql语句

第四步 如果执行查询操作,得到查询之后结果集,遍历结果集得到内容

第五步 关闭资源

2. JDBC实现对数据库crud操作

2.1 第一步 加载数据库驱动

(1)把数据库实现jar包导入项目中

* 根目录下创建文件夹lib

复制mysql的jar包到lib目录下

到jar包导入项目中

右键点击jar包,点击 Add  as  library

(2)通过反射代码加载驱动对象

2.2 代码实现查询

//1 查询操作
    @Test
    public void testSelect() {
        Connection conn = null;
        Statement statement = null;
        ResultSet rs = null;
        try {
            //1 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");

            //2 创建数据库连接
            //第一个参数 url:数据库地址  jdbc:mysql://数据库ip:端口号/数据库名称
            ///  如果连接数据库是本地数据库,并且端口号是3306 简写 jdbc:mysql:///db2
            //第二个参数 user:用户名
            //第三参数 password:密码
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db2","root","root");

            //3 编写sql语句,创建Statement,执行sql语句
            String sql = "select did,dname from dept";
            //创建Statement
            statement = conn.createStatement();
            //statement执行sql语句
            rs = statement.executeQuery(sql);

            //4 查询返回结果集,遍历显示内容
            while(rs.next()) {
//                int did = rs.getInt("did");
                String did = rs.getString("did");
                String dname = rs.getString("dname");
                System.out.println("did: "+did);
                System.out.println("dname: "+dname);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭资源
            try {
                rs.close();
                statement.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

2.3 代码实现添加操作

//2 添加操作
@Test
public void testInsert() {
    Connection connection = null;
    Statement statement = null;
    try {
        //1 加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2 创建数据库连接
        connection = DriverManager.getConnection("jdbc:mysql:///db2", "root", "root");

        //3 编写sql语句,创建statement对象执行sql语句
        String sql = "insert into dept values(4,'外交部')";
        statement = connection.createStatement();
        //执行 executeUpdate方法进行添加操作,返回影响行数
        int row = statement.executeUpdate(sql);
        System.out.println(row);

    }catch (Exception e) {

    }finally {
        //4 关闭资源
        try {
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

2.4 代码实现修改操作

//3 修改操作
@Test
public void testUpdate() {
    Connection connection = null;
    Statement statement = null;
    try {
        //1 加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2 创建数据库连接
        connection = DriverManager.getConnection("jdbc:mysql:///db2", "root", "root");

        //3 编写修改语句,创建statement对象执行修改语句
        String sql = "update dept set dname='对外交流部' where did=4";
        statement = connection.createStatement();
        int row = statement.executeUpdate(sql);
        System.out.println(row);
    }catch (Exception e) {
    }finally {
        //4 关闭资源
        try {
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

2.5 代码实现删除操作

//5 删除操作
@Test
public void testDelete() {
    Connection connection = null;
    Statement statement = null;
    try {
        //1 加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2 创建数据库连接
        connection = DriverManager.getConnection("jdbc:mysql:///db2", "root", "root");

        //3 编写修改语句,创建statement对象执行修改语句
        String sql = "delete from dept where did=4";
        statement = connection.createStatement();
        int row = statement.executeUpdate(sql);
        System.out.println(row);
    }catch (Exception e) {
    }finally {
        //4 关闭资源
        try {
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯丰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值