JDBC案例

news2024/9/25 1:22:49

文章目录

        • 案例1 :修改数据库中的数据
        • 案例2:查询数据库中的数据
        • 案例3:查询数据库中账户表数据,并将其封装成Account对象,,存储到ArrayList集合当中
        • 案例4:商品的增删改查
          • 1.准备环境
          • 2.查询
          • 3.添加
          • 4.修改
          • 5. 删除

案例1 :修改数据库中的数据

在这里插入图片描述
在这里插入图片描述

package src.com.itheima.jdbc;


import com.mysql.jdbc.Driver;

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

//jdbc快速入门
public class JDBCDemo {
    public static void main(String[] args) throws Exception {

        //1. 注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String usename = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, usename, password);

        //3.定义sql
        String sql = "UPDATE account SET money=1500 WHERE id =2;";

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

        //5.执行sql
        int count = stmt.executeUpdate(sql);  //受影响的行

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

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


    }
}

案例2:查询数据库中的数据

在这里插入图片描述

package src.com.itheima.jdbc;


import com.mysql.jdbc.Driver;

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

//jdbc快速入门
public class JDBCDemo {
    public static void main(String[] args) throws Exception {

        //1. 注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/db1";
        String usename = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, usename, password);

        //3.定义sql
        String sql = "select * from account;";

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

        //5.执行sql
        //int count = stmt.executeUpdate(sql);  //修改
        ResultSet resultSet = stmt.executeQuery(sql);  //查询

        //6.处理结果
        while (resultSet.next()){
            //获取数据
            int id = resultSet.getInt(1);
            String name = resultSet.getString(2);
            double money = resultSet.getDouble(3);

            System.out.println(id);
            System.out.println(name);
            System.out.println(money);

            System.out.println("------------------------");
        }

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


    }
}

在这里插入图片描述

案例3:查询数据库中账户表数据,并将其封装成Account对象,,存储到ArrayList集合当中

在这里插入图片描述
2.在java中创建account对象

public class Account {
//这里采用private修饰实现封装,隐藏内部细节防止外部直接访问修改类的私有变量,提高代码的安全型和可维护性;
//如果外部类想访问私有变量,要使用get和set、方法
    private int id;
    private String name;
    private double money;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

    @Override
    public String toString() {
        return "Account{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", money=" + money +
                '}';
    }
}

3. 从mysql中读取数据给对象存入ArrayList中并查看

package src.com.itheima.jdbc;

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

public class SqlAccount {
    public static void main(String[] args) throws Exception {

        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1", "root", "123456");

        //3.定义sql
        String sql = "SELECT * FROM account";

        //4.获取sql的执行对象
        Statement state = conn.createStatement();

        //5.执行sql
        ResultSet resultSet = state.executeQuery(sql);

        //6.处理结果
        System.out.println(resultSet);   //com.mysql.jdbc.JDBC42ResultSet@6093dd95
        System.out.println(resultSet.getClass().getName());  //查看结果类型 :com.mysql.jdbc.JDBC42ResultSet


        ArrayList<Account> accounts = new ArrayList<>();

        while (resultSet.next()){
           //对象创建
            Account account = new Account();

            //获取数据
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            double money = resultSet.getDouble("money");

            //给对象赋值
            account.setId(id);
            account.setName(name);
            account.setMoney(money);

            //给对象存入集合
            accounts.add(account);

        }

        System.out.println(accounts);

        //7.释放资源
        resultSet.close();
        state.close();
        conn.close();
    }
}

在这里插入图片描述

案例4:商品的增删改查

  • 查询:查询所有数据
  • 添加:添加品牌·
  • 修改:根据id修改
  • 删除:根据id删除
1.准备环境

准备品牌表和创建品牌对象

-- 删除tb_brand表
drop table if exists tb_brand;
-- 创建tb_brand表
create table tb_brand
(
    -- id 主键
    id           int primary key auto_increment,
    -- 品牌名称
    brand_name   varchar(20),
    -- 企业名称
    company_name varchar(20),
    -- 排序字段
    ordered      int,
    -- 描述信息
    description  varchar(100),
    -- 状态:0:禁用  1:启用
    status       int
);
-- 添加数据
insert into tb_brand (brand_name, company_name, ordered, description, status)
values ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
       ('华为', '华为技术有限公司', 100, '华为致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1);


SELECT * FROM tb_brand;

在这里插入图片描述

public class Brand {
    Integer id;   //这里使用Integer是因为,对应实际的商品如果未负责,使用int默认为0,使用Integer默认是null
    String brand_name;
    String company_name;
    Integer ordered;
    String description;
    Integer status;
    
     public Brand(Integer id, String brand_name, String company_name, Integer ordered, String description, Integer status) {
        this.id = id;
        this.brand_name = brand_name;
        this.company_name = company_name;
        this.ordered = ordered;
        this.description = description;
        this.status = status;
    }

    @Override
    public String toString() {
        return "Brand{" +
                "id=" + id +
                ", brand_name='" + brand_name + '\'' +
                ", company_name='" + company_name + '\'' +
                ", ordered=" + ordered +
                ", description='" + description + '\'' +
                ", status=" + status +
                '}';
    }
}

2.查询
package src.com.itheima.jdbc.com.brandTest;

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

public class BrandTest {
    public static void main(String[] args) throws Exception {

        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1", "root", "123456");

        //定义sql
        String sql = "SELECT * FROM tb_brand";

        //执行sql
        Statement stat = conn.createStatement();
        ResultSet rs = stat.executeQuery(sql);

        //处理结果
        ArrayList<Brand> brands = new ArrayList<>();
        while (rs.next()){
            int id = rs.getInt("id");
            String brand_name = rs.getString("brand_name");
            String company_name = rs.getString("company_name");
            int ordered = rs.getInt("ordered");
            String description = rs.getString("description");
            int status = rs.getInt("status");

            Brand brand = new Brand(id,brand_name,company_name,ordered,description,status);
            brands.add(brand);
        }

        System.out.println(brands);

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

3.添加
package src.com.itheima.jdbc.com.brandTest;

import java.sql.*;
import java.util.ArrayList;

public class BrandTest {
    public static void main(String[] args) throws Exception {

        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1", "root", "123456");

        //接受页面提交的参数
        String brandName = "香飘飘";
        String companyName = "香飘飘";
        int ordered = 1;
        String description = "绕地球一圈";
        int status = 1;

        //定义sql
        String sql = "insert into tb_brand(brand_name, company_name, ordered, description, status) values(?,?,?,?,?);";

        //获取ppst
        PreparedStatement pstmt = conn.prepareStatement(sql);


        //设置参数
        pstmt.setString(1,brandName);
        pstmt.setString(2,companyName);
        pstmt.setInt(3,ordered);
        pstmt.setString(4,description);
        pstmt.setInt(5,status);

        //执行sql
        int i = pstmt.executeUpdate();

        //处理结果
        System.out.print("受影响的行数");
        System.out.println(i);

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

在这里插入图片描述

4.修改
package src.com.itheima.jdbc.com.brandTest;

import java.sql.*;
import java.util.ArrayList;

public class BrandTest {
    public static void main(String[] args) throws Exception {

        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1", "root", "123456");

        //接受页面提交的参数
        String companyName = "香飘飘科技有限公司啦啦啦";


        //定义sql
        String sql = "UPDATE tb_brand SET company_name= ? WHERE id = 5;";

        //获取ppst
        PreparedStatement pstmt = conn.prepareStatement(sql);


        //设置参数
        pstmt.setString(1,companyName);


        //执行sql
        int i = pstmt.executeUpdate();

        //处理结果
        System.out.print("受影响的行数");
        System.out.println(i);

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

在这里插入图片描述

5. 删除
package src.com.itheima.jdbc.com.brandTest;

import java.sql.*;
import java.util.ArrayList;

public class BrandTest {
    public static void main(String[] args) throws Exception {

        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1", "root", "123456");


        //定义sql
        String sql = " DELETE FROM tb_brand WHERE id = 1;";

        //执行sql
        Statement stst = conn.createStatement();
        int i = stst.executeUpdate(sql);


        //处理结果
        System.out.print("受影响的行数");
        System.out.println(i);

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/822727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.微信小程序开发-快速上手

1.环境搭建 1.1 下载开发者工具 微信开发者工具下载地址与更新日志 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 1.2 注册小程序 获取小程序AppId 2.小程序组件 1.view&#xff1a;用于展示视图元素&#x…

WAF绕过-权限控制篇-后门免杀

WAF绕过主要集中在信息收集&#xff0c;漏洞发现&#xff0c;漏洞利用&#xff0c;权限控制四个阶段。 1、什么是WAF&#xff1f; Web Application Firewall&#xff08;web应用防火墙&#xff09;&#xff0c;一种公认的说法是“web应用防火墙通过执行一系列针对HTTP/HTTPS的安…

所有集群启动的命令

所有集群启动的命令 查询所有节点启动Hadoop集群(Yarn模式)关闭Hadoop集群Spark&#xff08;local模式&#xff09;启动Spark集群standalone模式(不用了)关闭standalone模式HA下的standalone模式关闭HA-standalone模式Yarn模式&#xff08;重点&#xff09; 关闭Spark集群启动f…

接口/Web自动化测试如何做?框架如何搭建封装?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 自动化测试怎么做…

数据可视化(5)热力图及箱型图

1.热力图 #基本热力图 #imshow&#xff08;x&#xff09; #x&#xff0c;数据 x[[1,2],[3,4],[5,6],[7,8],[9,10]] plt.imshow(x) plt.show() #使用热力图分析学生的成绩 dfpd.read_excel(学生成绩表.xlsx) #:表示行号 截取数学到英语的列数 xdf.loc[:,"数学":英语].…

技能生态链职业技能等级评价认定业务

一、项目背景 根据《关于公布广东省2022年第一批职业技能等级认定社会培训评价组织名单的通知》&#xff08;粤人社函〔2022〕76号&#xff09;&#xff0c;广东泰迪智能科技股份有限公司于2022年入选广东省2022年第一批职业技能等级认定社会评价组织&#xff0c;并根据《关于…

《水经注地图服务》发布的影像数据如何在OsgEarth中调用

OsgEarth 是一个用于OpenSceneGraph (OSG)的可扩展地形渲染工具包&#xff0c;它是一个开源、高性能、3D 图形工具包。 只需创建一个简单的 XML 文件&#xff0c;将其指向您的图像、高程和矢量数据&#xff0c;将其加载到您最喜欢的 OSG 应用程序中&#xff0c;然后开始&#…

蓝桥云课ROS机器人旧版实验报告-05导航功能

项目名称 实验五 导航功能 成绩 内容&#xff1a;创建变换、发布传感器消息、里程数据信息、创建基础控制器、创建地图&#xff0c;机器人配置、全局和局部代价地图、rviz详细配置、自适应蒙特卡洛定位&#xff0c;避障&#xff0c;目标发送 实验记录&#xff08;70分&…

Jenkins工具系列 —— 插件 实现用户权限分配与管理

文章目录 安装插件 Role-based Authorization Strategy添加用户注册配置权限查看当前使用者&#xff0c;获取user id配置管理员权限配置普通用户权限&#xff08;非管理员权限&#xff09; 小知识 安装插件 Role-based Authorization Strategy 点击 左侧的 Manage Jenkins —&…

[LeetCode]只出现一次的数字相关题目(c语言实现)

文章目录 LeetCode136. 只出现一次的数字ⅠLeetCode137. 只出现一次的数字 IILeetCode260. 只出现一次的数字 IIILeetCode268. 丢失的数字 LeetCode136. 只出现一次的数字Ⅰ 题目: 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元…

使用MyBatis(2){使用myBatis操作增删改查/动态SQL}

目录 一、定义接口、实体类、创建XML文件实现接口&#xff09; 二、MyBatis的增删改查 &#x1f345;1、MyBatis传递参数查询 &#x1f388;写法一 &#x1f388;写法二 &#x1f388;两种方式的区别 &#x1f345;2、删除操作 &#x1f345;3、根据id修改用户名 &#…

Java 基础进阶总结(一)反射机制学习总结

文章目录 一、初识反射机制1.1 反射机制概述1.2 反射机制概念1.3 Java反射机制提供的功能1.4 反射机制的优点和缺点 二、反射机制相关的 API2.1 一、初识反射机制 1.1 反射机制概述 JAVA 语言是一门静态语言&#xff0c;对象的各种信息在程序运行时便已经确认下来了&#xff0…

延长周末体验感

延长周末体验感 写在最前面周末的时间规划题外话善解人意的chatgpt 提升周末体验感的好方法随机选择一个周末活动 怎样才能获得充分的休息 写在最前面 话题征文~ https://activity.csdn.net/creatActivity?id10533&spm1011.2432.3001.9644 工作以后常常容易感到疲于奔命…

python简单小游戏代码100行,python小游戏程序源代码

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python简单小游戏代码100行&#xff0c;python小游戏代码能用的&#xff0c;现在让我们一起来看看吧&#xff01; Python编写简易猜数字小游戏&#xff08;附完整代码&#xff09; 猜数字游戏是一款非常经典的小游戏&am…

AD21 PCB设计的高级应用(九)3D PDF的输出

&#xff08;九&#xff09;3D PDF的输出 1.3D PDF的输出2.制作PCB 3D视频 1.3D PDF的输出 Altium Designer 19 带有 3D输出功能,能够直接将 PCB 的 3D效果输出到 PDF 中。 ’(1)打开带有 3D 模型的 PCB 文件,执行菜单栏中“文件”→“导出”→“PDF3D”命令&#xff0c;选择…

P1419 寻找段落(二分答案)(内附封面)

寻找段落 题目描述 给定一个长度为 n n n 的序列 a a a&#xff0c;定义 a i a_i ai​ 为第 i i i 个元素的价值。现在需要找出序列中最有价值的“段落”。段落的定义是长度在 [ S , T ] [S, T] [S,T] 之间的连续序列。最有价值段落是指平均值最大的段落。 段落的平均值…

SpringBoot整合TrueLicense生成和验证License证书

一 License介绍 License&#xff0c;也就是版权许可证书&#xff0c;一般用于收费软件给付费用户提供的访问许可证明。根据应用部署位置的不同&#xff0c;一般可以分为以下几种情况讨论&#xff1a; 应用部署在开发者自己的云服务器上。这种情况下用户通过账号登录的形式远程…

Halcon——在C#中各数据类型的相互转换

Halcon——在C#中各数据类型的相互转换 前言一、HObject to1.HObject to HImage 二、HTuple to1.HTuple to Int2.HTuple to Double3.HTuple to String4.HTuple to long5.HTuple to object6.HTuple to Arr 总结 前言 用c#进行Halcon代码转换的时候&#xff0c;虽然有halcon自带…

Python基础语法-梳理的几个知识点

1.书写格式 不需要声明变量类型&#xff0c;因为 在python中&#xff0c;变量为弱类型变量&#xff0c;Python解析器根据值自动匹配变量类型分支结构、循环结构中的条件表达式&#xff0c;不需要用小括号括起来执行语句体不需要大括号括起来&#xff0c;而是用冒号代替 2.格式…