jdbc技术实现插入数据,更新和删除操作,查询操作

news/2024/5/18 22:22:45 标签: 1024程序员节, java, 反射, jdbc

1、插入数据

java">package com.csdn.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
//1.向数据库插入数据
/**
 * Sun公司制定标准(规范)    -- 只设计接口
 * 各大数据库厂商实现这些标准   -- 根据接口写实现类
 */
public class InsertData {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.通过驱动管理器获取连接对象
        //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/fruitdb", "root", "123456");
        Connection conn = DriverManager.getConnection("jdbc:mysql:///fruitdb", "root", "123456");

        //System.out.println(conn == null ? "连接失败!" : "连接成功!");
        //3.编写SQL语句
        String sql = "insert into t_fruit values(null,?,?,?,?)"; //?表示占位符

        //4.创建预处理命令对象
        PreparedStatement psmt = conn.prepareStatement(sql);

        //5.填充参数
        psmt.setString(1, "西瓜");
        psmt.setInt(2, 9);
        psmt.setInt(3, 200);
        psmt.setString(4, "西瓜很好吃!");

        //6.执行更新,返回影响行数
        int count = psmt.executeUpdate();
        System.out.println(count);//1
    }
}

2、修改数据

java">package com.csdn.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
//2.演示修改操作
public class ModifyData {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        //1.加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2.通过驱动管理器获取连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql:///fruitdb", "root", "123456");

//        System.out.println(conn == null ? "连接失败" : "连接成功");

        //3.编写SQL语句
        String sql = "update t_fruit set price=?,fcount=? where fid=?";

        //创建预处理命令对象
        PreparedStatement psmt = conn.prepareStatement(sql);

        psmt.setInt(1, 8);
        psmt.setInt(2, 150);
        psmt.setInt(3,1);

        int count = psmt.executeUpdate();//增删改都称为执行更新
        System.out.println(count > 0 ? "更新成功!" : "更新失败!");

        psmt.close();
        conn.close();
    }
}

3、删除数据

java">package com.csdn.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
//3.演示删除操作
public class DeleteData {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //通过驱动管理器获取连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql:///fruitdb", "root", "123456");

        //编写SQL语句
        String sql = "delete from t_fruit where fid=?";

        //创建预处理命令对象
        PreparedStatement psmt = conn.prepareStatement(sql);

        psmt.setInt(1,1);

        int count = psmt.executeUpdate();
        
        System.out.println(count > 0 ? "删除成功!" : "删除失败!");
    }
}

4、查询操作

java">package com.csdn.jdbc;
import java.sql.*;
//4.演示查询所有数据
public class SelectData {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //通过驱动管理器获取连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql:///fruitdb", "root", "123456");
        //编写SQL语句
        String sql = "select * from t_fruit";
        //创建预处理命令对象
        PreparedStatement psmt = conn.prepareStatement(sql);

        //执行查询
        ResultSet rs = psmt.executeQuery();
        while (rs.next()) {
            Integer fid = rs.getInt(1);
            String fname = rs.getString(2);
            Integer price = rs.getInt(3);
            Integer fcount = rs.getInt("fcount");
            String remark = rs.getString("remark");
            System.out.println(fid + "_" + fname + "_" + price + "_" + fcount + "_" + remark);
        }
        //是否资源
        rs.close();
        psmt.close();
        conn.close();
    }
}

5、查询特定的数据

java">package com.csdn.jdbc;
import java.sql.*;
//5.演示查询特定名称的库存记录
public class SelectSpecifyData {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //通过驱动管理器获取连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql:///fruitdb", "root", "123456");
        //编写SQL语句
        String sql = "select * from t_fruit where fname like ?";
        //创建预处理命令对象
        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setString(1,"西瓜");

        //执行查询
        ResultSet rs = psmt.executeQuery();
        if (rs.next()) {
            Integer fid = rs.getInt(1);
            String fname = rs.getString(2);
            Integer price = rs.getInt(3);
            Integer fcount = rs.getInt("fcount");
            String remark = rs.getString("remark");
            System.out.println(fid + "_" + fname + "_" + price + "_" + fcount + "_" + remark);
        }
        //是否资源
        rs.close();
        psmt.close();
        conn.close();
    }
}

http://www.niftyadmin.cn/n/5120142.html

相关文章

JS数组扁平化多维数组变为一维数组的三种方法

在实践中,我们有一个多维数组,我想把它变为一维数组,我们该怎么办呢? 让我为大家介绍一下吧! 1.flat方法 我们使用flat可以实现降维 // 声明一个数组const arr [1,2,3,[4,5,6]]// 我们使用flat方法console.log(arr.…

HarmonyOS 音频开发指导:使用 OpenSL ES 开发音频播放功能

OpenSL ES 全称为 Open Sound Library for Embedded Systems,是一个嵌入式、跨平台、免费的音频处理库。为嵌入式移动多媒体设备上的应用开发者提供标准化、高性能、低延迟的 API。HarmonyOS 的 Native API 基于Khronos Group开发的OpenSL ES 1.0.1 API 规范实现&am…

智慧公厕:打造更美好的城市生活环境

在信息技术迅猛发展的今天,智慧公厕作为一种创新的城市管理模式,正逐渐受到人们的关注。以物联网、大数据、人工智能为基础,智慧公厕正逐步改变传统公厕的面貌,为城市居民提供更便捷、舒适的公共服务。本文将以智慧公厕源头厂家广…

BMS电池电荷均衡(被动电荷均衡与主动均衡)

目录 简介 1 、被动电荷均衡控制器 (1)固定分流电阻器 (2)开关分流电阻器

C语言程序设计——题目:要求输出国际象棋棋盘。

题目:要求输出国际象棋棋盘。 程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i控制行,j来控制列,根据ij的和的变化来控制输出黑方格,还是白方格。 如果出现乱码情况请参考本博客【C 练习…

Netty实战-实现自己的通讯框架

通信框架功能设计 功能描述 通信框架承载了业务内部各模块之间的消息交互和服务调用,它的主要功能如下: 基于 Netty 的 NIO 通信框架,提供高性能的异步通信能力;提供消息的编解码框架,可以实现 POJO 的序列化和反序…

【AI视野·今日NLP 自然语言处理论文速览 第五十八期】Thu, 19 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 19 Oct 2023 Totally 74 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Understanding Retrieval Augmentation for Long-Form Question Answering Authors Hung Ting Chen, Fangyuan…

创建一个碟包

目录 程序设计 程序分析 系列文章 创建一个碟包,需要能保存CD和DVD碟片,记录碟片的发行信息,有存入、取出、外借、归还、点数、遍历等功能。 程序设计 DiscPackage类: import java.util.ArrayList; import java.util.Scanner;public class DiscPackage {public stati…