jdbc实现数据库基本操作(增,删,改,查)

JDBC是Java用于与数据库交互的API,支持连接、SQL执行、事务处理和结果集管理。通过步骤如加载驱动、建立连接、执行SQL和关闭资源,开发者能实现数据库的增删改查。示例代码展示了如何使用JDBC更新数据库记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是jdbc

JDBC(Java Database Connectivity)是Java编程语言中用于与数据库进行交互的标准API。它提供了一组接口和类,允许开发人员通过Java程序连接到数据库,并执行各种数据库操作。
 JDBC的主要功能包括:
1. 建立数据库连接:通过JDBC驱动程序,可以与各种数据库建立连接,如MySQL、Oracle、SQL Server等。
2. 执行SQL语句:可以使用JDBC执行各种SQL语句,如查询数据、插入数据、更新数据和删除数据等。
3. 处理事务:JDBC支持事务处理,可以通过JDBC的事务管理功能来确保数据库操作的一致性和完整性。
4. 处理结果集:JDBC可以获取数据库查询的结果集,并提供方法来处理和操作结果集中的数据。
5. 处理元数据:JDBC提供了获取数据库结构和信息的方法,开发人员可以使用这些方法来获取表、列、索引等数据库元数据。
 使用JDBC进行数据库操作的一般步骤如下:
1. 加载并注册数据库驱动程序。
2. 建立数据库连接。
3. 创建一个Statement对象或PreparedStatement对象,用于执行SQL语句。
4. 执行SQL语句,并获取结果集(如果有)。
5. 处理结果集中的数据。
6. 关闭数据库连接和相关资源。
 通过JDBC,开发人员可以在Java应用程序中方便地与数据库进行交互,实现数据的存储、检索和更新等操作。

jdbc可以实现的具体操作

下面将是一段jdbc实现数据库基本操作的示例

实现思路:首先我们需要注册驱动-反射去加载jar包

实现类为DriverManager类,运用该类的方法registerDriver完成注册

代码实现:

Class.forName("com.mysql.jdbc.Driver");

然后我们需要使用连接类获取连接对象,当然地址则为数据库的实现地址,本人端口为3306(端口可在数据库--连接中查看)。初始账户为root,简易密码也设置成root方便记忆

代码实现:

            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8", "root", "root");
            System.out.println(con);

接着定义sql语句。sql语句的不同则实现效果不同,sql语句可以帮助实现增删改查等基本操作,下图为更新语句sql

代码实现:

String sql = "update t_dept set leader='张总' where did=19";

定义完成之后,我们需要创建一个语句段statement用于执行sql语句

代码实现:

 //需要创建statement
            Statement statement = con.createStatement();
            //statement执行sql,返回插入了几行
            int i = statement.executeUpdate(sql);
            System.out.println("向数据库t_dept表中修改了" + i + "行数据");

最后关闭连接和语句段

代码实现:

            //关闭资源
            statement.close();
            con.close();

如法炮制,增删改查基本操作都能实现。通过修改sql语句实现功能

(tips:查询功能需要处理结果集,因为要查询所有数据,推荐使用while循环持续遍历输出)

查询结果代码实现:

private static void f2 () throws Exception{
            //注册驱动-用反射去加载jar包中com.jdbc.Driver这个类中的   public Driver() throws SQLException {};
            Class.forName("com.mysql.jdbc.Driver");
            //获取连接对象
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8", "root", "root");
            System.out.println(con);
            //定义sql
            String sql = "select * from t_dept";
            //需要创建statement
            Statement statement = con.createStatement();
            //statement执行sql,返回结果集
            ResultSet rs= statement.executeQuery(sql);
            //解析rs
           while(rs.next()) {

               int did = rs.getInt("did");
               String dname = rs.getString("dname");
               String dlocation = rs.getString("dlocation");
               String leader = rs.getString("leader");
               System.out.println(did + "--" + dname + "--" + dlocation + "--" + leader);

               //关闭资源
               statement.close();
               con.close();
           }
        }

最后附上总代码

package com.hp;

import java.sql.*;
import java.sql.ResultSet;
/*
* 代码提示 生成 快捷键 alt+enter
* */
/*statement有两个常用方法
* 1.
* */
public class Jdbc01 {



        private static void f4 () throws Exception{
            //注册驱动-用反射去加载jar包中com.jdbc.Driver这个类中的   public Driver() throws SQLException {};
            Class.forName("com.mysql.jdbc.Driver");
            //获取连接对象
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8", "root", "root");
            System.out.println(con);
            //定义sql
            String sql = "update t_dept set leader='张总' where did=19";
            //需要创建statement
            Statement statement = con.createStatement();
            //statement执行sql,返回插入了几行
            int i = statement.executeUpdate(sql);
            System.out.println("向数据库t_dept表中修改了" + i + "行数据");
            //关闭资源
            statement.close();
            con.close();
        }

        private static void f3 () throws Exception {
            //注册驱动-用反射去加载jar包中com.jdbc.Driver这个类中的   public Driver() throws SQLException {};
            Class.forName("com.mysql.jdbc.Driver");
            //获取连接对象
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8", "root", "root");
            System.out.println(con);
            //定义sql
            String sql = "delete form t_dept where did=18";
            //需要创建statement
            Statement statement = con.createStatement();
            //statement执行sql,返回插入了几行
            int i = statement.executeUpdate(sql);
            System.out.println("向数据库t_dept表中删除了" + i + "行数据");
            //关闭资源
            statement.close();
            con.close();
        }

        private static void f2 () throws Exception{
            //注册驱动-用反射去加载jar包中com.jdbc.Driver这个类中的   public Driver() throws SQLException {};
            Class.forName("com.mysql.jdbc.Driver");
            //获取连接对象
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8", "root", "root");
            System.out.println(con);
            //定义sql
            String sql = "select * from t_dept";
            //需要创建statement
            Statement statement = con.createStatement();
            //statement执行sql,返回结果集
            ResultSet rs= statement.executeQuery(sql);
            //解析rs
           while(rs.next()) {

               int did = rs.getInt("did");
               String dname = rs.getString("dname");
               String dlocation = rs.getString("dlocation");
               String leader = rs.getString("leader");
               System.out.println(did + "--" + dname + "--" + dlocation + "--" + leader);

               //关闭资源
               statement.close();
               con.close();
           }
        }

        private static void f1 () throws Exception {
            //注册驱动-用反射去加载jar包中com.jdbc.Driver这个类中的   public Driver() throws SQLException {};
            Class.forName("com.mysql.jdbc.Driver");
            //获取连接对象
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8", "root", "root");
            System.out.println(con);
            //定义sql
            String sql = "insert into t_dept values(null,'乌克兰分部','基辅','陈总')";
            //需要创建statement
            Statement statement = con.createStatement();
            //statement执行sql,返回插入了几行
            int i = statement.executeUpdate(sql);
            System.out.println("向数据库t_dept表中插入了" + i + "行数据");
            //关闭资源
            statement.close();
            con.close();
        }
    public static void main(String[] args) throws Exception {
        f4();
    }
    }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值