JDBC增删改查(超详细)

目录

一、在Navicat premium中创建表

1、表的设计

2、表的创建

 二、在IDEA中导入jar包

1.把这个文件复制下来

2.进入IDEA中在你建立的项目里边右键点击Directory建立lib

3.把第一步复制的jar粘贴到 lib 包下

4.选中导入进来的jar右键点击Add as,,

5.点击完之后如果是下图这个效果,说明导入完成

 三、实现增删改查功能

1.查

2.增

3.删除

4.修改

源码:


         建了一个群:908722740 ,欢迎小伙伴门的加入,平时可以互相学习交流,不管是学习还是工作上的都可以多多交流,本人在校学生,技术有限,错误的地方欢迎指正,里边用到的各类安装包可以评论,我发你

一、在Navicat premium中创建表

1、表的设计

 特别注意:我们可以把id默认设置为自动递增

 2、表的创建

 二、在IDEA中导入jar包

1.把这个文件复制下来

 2.进入IDEA中在你建立的项目里边右键点击Directory建立lib

 3.把第一步复制的jar粘贴到 lib 包下

 4.选中导入进来的jar右键点击Add as,,

 5.点击完之后如果是下图这个效果,说明导入完成

 三、实现增删改查功能

1.查

 /**
     * 查询
     *
     * @throws SQLException
     * @throws ClassNotFoundException
     */
    public static void getDt() throws SQLException, ClassNotFoundException {

        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");


        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);
        System.out.println(con);

        //3.写sql命令
        String sql = "select * from dvd";



        //4.获得执行对象。
        PreparedStatement ps = con.prepareStatement(sql);

        //5.执行sql命令,同时获得结果
        ResultSet rs = ps.executeQuery();

        //6.处理结果
        while (rs.next()) {//判断结果集对象中是否还有下一行数据
            System.out.println(rs.getInt("id") + "\t" + rs.getString(2) + "\t"
                    + rs.getString(3) + "\t" + rs.getDouble(4) + "\t"
                    + rs.getString(5) + "\t" + rs.getInt(6));

        }

        //7.关闭所有连接资源
        rs.close();
        ps.close();
        con.close();
    }

 运行截图

 

 2.增

/**
     * 添加
     *
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void addDVD() throws ClassNotFoundException, SQLException {
        Scanner input=new Scanner(System.in);
        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);

        //3.写sql语句
        String sql = "insert into dvd(name,state,money,count) values(?,'可借',?,0)";
        //接下来给两个问好赋值,在要在第五步前,给两个问号赋值就行

        //4.获得执行对象
        PreparedStatement ps = con.prepareStatement(sql);
        System.out.println("请输入要添加的DVD名称");
        String name=input.next();
        System.out.println("请输入DVD的日租金");
        double money=input.nextDouble();
        ps.setString(1,name);
        ps.setDouble(2,money);
        //5.执行sql语句同时获得结果
        int i = ps.executeUpdate();

        //6.处理结果
        if (i == 1) {
            System.out.println("添加DVD成功");
        } else {
            System.out.println("添加DVD失败");
        }

        //7.关闭连接资源
        ps.close();
        con.close();
    }

运行截图

 

3.删除

   /**
     * 删除
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void delDVD() throws ClassNotFoundException, SQLException {
        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);

        //3.写sql语句
        String sql="delete from dvd where name=?";

        //4.获得执行对象
        PreparedStatement ps=con.prepareStatement(sql);
        System.out.println("请输入要删除的DVD名称");
        String name=new Scanner(System.in).next();
        ps.setString(1,name);
        //5.执行命令同时获得结果
        int i = ps.executeUpdate();
        //6.处理结果
        if (i==1){
            System.out.println("删除成功");
        }else {
            System.out.println("删除失败");
        }
        //7.关闭资源
        ps.close();
        con.close();
    }

 运行截图:

 4.修改

 /**
     * 修改
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void upDVD() throws ClassNotFoundException, SQLException {
        Scanner input=new Scanner(System.in);
        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);

        //3.写入sql语句
        String sql="update dvd set state=?,lendDate=?,count=count+1 where name=?";
        System.out.println("请输入要修改的DVD名称");
        String name=input.next();
        System.out.println("请输入修改后的状态");
        String state=input.next();
        System.out.println("请输入修改后的时间");
        String dt=input.next();
        //4.获得执行对象
        PreparedStatement ps=con.prepareStatement(sql);
        ps.setString(1,state);
        ps.setString(2,dt);
        ps.setString(3,name);

        //5.执行命令同时获得结果
        int i=ps.executeUpdate();
        //6.处理结果
        if (i>0){
            System.out.println("修改成功");
        }else {
            System.out.println("修改失败");
        }
        //7.关闭资源
        ps.close();
        con.close();
    }

 运行截图:

源码:

package com.jr.dz327;

import java.sql.*;
import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {

        upDVD();
       getDt();
    }

    /**
     * 修改
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void upDVD() throws ClassNotFoundException, SQLException {
        Scanner input=new Scanner(System.in);
        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);

        //3.写入sql语句
        String sql="update dvd set state=?,lendDate=?,count=count+1 where name=?";
        System.out.println("请输入要修改的DVD名称");
        String name=input.next();
        System.out.println("请输入修改后的状态");
        String state=input.next();
        System.out.println("请输入修改后的时间");
        String dt=input.next();
        //4.获得执行对象
        PreparedStatement ps=con.prepareStatement(sql);
        ps.setString(1,state);
        ps.setString(2,dt);
        ps.setString(3,name);

        //5.执行命令同时获得结果
        int i=ps.executeUpdate();
        //6.处理结果
        if (i>0){
            System.out.println("修改成功");
        }else {
            System.out.println("修改失败");
        }
        //7.关闭资源
        ps.close();
        con.close();
    }

    /**
     * 删除
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void delDVD() throws ClassNotFoundException, SQLException {
        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);

        //3.写sql语句
        String sql="delete from dvd where name=?";

        //4.获得执行对象
        PreparedStatement ps=con.prepareStatement(sql);
        System.out.println("请输入要删除的DVD名称");
        String name=new Scanner(System.in).next();
        ps.setString(1,name);
        //5.执行命令同时获得结果
        int i = ps.executeUpdate();
        //6.处理结果
        if (i==1){
            System.out.println("删除成功");
        }else {
            System.out.println("删除失败");
        }
        //7.关闭资源
        ps.close();
        con.close();
    }

    /**
     * 添加
     *
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public static void addDVD() throws ClassNotFoundException, SQLException {
        Scanner input=new Scanner(System.in);
        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);

        //3.写sql语句
        String sql = "insert into dvd(name,state,money,count) values(?,'可借',?,0)";
        //接下来给两个问好赋值,在要在第五步前,给两个问号赋值就行

        //4.获得执行对象
        PreparedStatement ps = con.prepareStatement(sql);
        System.out.println("请输入要添加的DVD名称");
        String name=input.next();
        System.out.println("请输入DVD的日租金");
        double money=input.nextDouble();
        ps.setString(1,name);
        ps.setDouble(2,money);
        //5.执行sql语句同时获得结果
        int i = ps.executeUpdate();

        //6.处理结果
        if (i == 1) {
            System.out.println("添加DVD成功");
        } else {
            System.out.println("添加DVD失败");
        }

        //7.关闭连接资源
        ps.close();
        con.close();
    }

    /**
     * 查询
     *
     * @throws SQLException
     * @throws ClassNotFoundException
     */
    public static void getDt() throws SQLException, ClassNotFoundException {

        //1.手动加载数据库驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");


        //2.建立与数据库的连接,获得连接对象
        String username = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/jr?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
        Connection con = DriverManager.getConnection(url, username, password);


        //3.写sql命令
        String sql = "select * from dvd";



        //4.获得执行对象。
        PreparedStatement ps = con.prepareStatement(sql);

        //5.执行sql命令,同时获得结果
        ResultSet rs = ps.executeQuery();

        //6.处理结果
        while (rs.next()) {//判断结果集对象中是否还有下一行数据
            System.out.println(rs.getInt("id") + "\t" + rs.getString(2) + "\t"
                    + rs.getString(3) + "\t" + rs.getDouble(4) + "\t"
                    + rs.getString(5) + "\t" + rs.getInt(6));

        }

        //7.关闭所有连接资源
        rs.close();
        ps.close();
        con.close();
    }
}

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBCJava Database Connectivity)是一种用于执行SQL语句的Java API,它提供了一种连接到数据库的标准方式。下面是JDBC增删改查详细步骤: 1. 加载JDBC驱动程序 在使用JDBC之前,必须加载适合于数据库JDBC驱动程序。不同的数据库有不同的JDBC驱动程序,因此你需要根据你使用的数据库加载相应的驱动程序。例如: ``` Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立数据库连接 在加载完JDBC驱动程序之后,就可以建立与数据库之间的连接了。连接的过程需要提供数据库的URL、用户名和密码。例如: ``` String url = "jdbc:mysql://localhost:3306/test?useSSL=false"; String user = "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url, user, password); ``` 3. 创建Statement对象 在建立好数据库连接之后,就可以创建一个Statement对象。Statement对象用于执行SQL语句并返回结果。例如: ``` Statement statement = connection.createStatement(); ``` 4. 执行SQL语句 接下来,可以使用Statement对象执行SQL语句。例如: ``` String sql = "SELECT * FROM user"; ResultSet resultSet = statement.executeQuery(sql); ``` 如果要执行增、删、改操作,则可以使用Statement对象的executeUpdate()方法。例如: ``` String sql = "INSERT INTO user(name, age) VALUES('张三', 20)"; statement.executeUpdate(sql); ``` 5. 处理结果集 如果执行的是查询操作,则需要处理查询结果集。查询结果集以ResultSet对象的形式返回。例如: ``` while (resultSet.next()) { String name = resultSet.getString("name"); int age = resultSet.getInt("age"); System.out.println("name: " + name + ", age: " + age); } ``` 6. 关闭连接 在完成JDBC操作之后,需要关闭与数据库的连接。例如: ``` resultSet.close(); statement.close(); connection.close(); ``` 以上就是JDBC增删改查详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值