IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 商品品牌数据的增删改查操作 -> 正文阅读

[大数据]商品品牌数据的增删改查操作

JDBC练习——完成商品品牌数据的增删改查操作
一、准备环境
1、数据库表tb_brand
在这里插入图片描述
在这里插入图片描述

2、实体类Brand

/**
 * 品牌
 * alt+鼠标左键,整列编辑
 * 在实体类中,基本数据类型建议使用其对应的包装类型
 * 如int换成Integer,因为int的默认值是0,可能会对结果产生影响,而Integer的默认值是null
 *
 */
public class Brand {

    //要与表中字段的类型和名称对应
    private Integer id;
    private String brandName;
    private String companyName;
    private Integer ordered;
    private String description;
    private Integer status; //0:禁用,1:启动

    //提供Setter和Getter方法

    public Integer getId() {
        return id;
    }

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

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public Integer getOrdered() {
        return ordered;
    }

    public void setOrdered(Integer ordered) {
        this.ordered = ordered;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    //提供toString方法

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

3、测试用例
期望把代码放到一个包内

package com.itheima.example;

/**
 * 品牌数据的增删改查操作
 */
public class BrandTest {
    
}

二、增删改查功能实现

  • 查询:查询所有数据
  • 添加:添加品牌
  • 修改:根据id修改
  • 删除:根据id删除

(一)查询所有数据

1、步骤
(1)获取Connection
(2)定义SQL:select * from tb_brand
(3)获取PreparedStatement对象
(4)设置参数:(不需要)
(5)执行SQL
(6)处理结果:List< Brand >
(7)释放资源

/**
     * 查询所有
     * 1、SQL:select * from tb_brand
     * 2、参数不需要
     * 3、结果:List<Brand>
     */
    @Test
    public void testSelectAll() throws Exception{

        //1、创建驱动
        //2、获取连接
        String url = "jdbc:mysql://localhost:3306/db1?serverTimezone=GMT";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3、定义SQL
        String sql = "select * from tb_brand";

        //4、获取PreparedStatement对象
        PreparedStatement psmt = conn.prepareStatement(sql);

        //5、设置参数:因为查询语句中没有?占位符,所以不需要设置参数

        //6、执行SQL
        ResultSet rs = psmt.executeQuery();

        //7、处理结果:List< Brand >,遍历rs
        List<Brand> list = new ArrayList<>();

        while (rs.next()){
            //创建对象
            Brand brand = new Brand();

            //获取数据 getXxx()
            //先写后面,前面alt+/
            Integer id = rs.getInt("id");
            String brandName = rs.getString("brand_name");
            String companyName = rs.getString("company_name");
            Integer ordered = rs.getInt("ordered");
            String description = rs.getString("description");
            Integer status = rs.getInt("status");

            //封装brand对象
            brand.setId(id);
            brand.setBrandName(brandName);
            brand.setCompanyName(companyName);
            brand.setOrdered(ordered);
            brand.setDescription(description);
            brand.setStatus(status);

            //封装集合
            list.add(brand);

        }

        System.out.println(list);

        //8、释放资源
        psmt.close();
        rs.close();
        conn.close();


    }

(二)添加品牌

1、编写SQL语句 insert into tb_brand (brand_name, company_name, ordered, description, status) values (?,?,?,?,?);
2、是否需要参数?需要,除了id之外的所有数据
3、返回结果如何封装?Boolean

    /**
     * 1、编写SQL语句:insert into tb_brand (brand_name, company_name, ordered, description, status) values (?,?,?,?,?)
     * 2、是否需要参数?需要,除了id之外的所有数据
     * 3、返回结果如何封装?Boolean
     *
     */

    @Test
    public void testAdd() throws Exception{
        //1、创建驱动
        //2、获取连接
        String url = "jdbc:mysql://localhost:3306/db1?serverTimezone=GMT";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);

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

        //4、获取PreparedStatement对象
        PreparedStatement pstmt = conn.prepareStatement(sql);

        //接受用户输入的品牌信息
        String input_brand_name = "龟苓膏";
        String input_company_name = "苼禾堂";
        int input_ordered = 9;
        String input_description = "过瘾不过火";
        int input_status = 0;

        //5、设置参数:查询语句中?占位符
        pstmt.setString(1, input_brand_name);
        pstmt.setString(2,input_company_name);
        pstmt.setInt(3,input_ordered);
        pstmt.setString(4,input_description);
        pstmt.setInt(5,input_status);

        //6、执行sql
        int count = pstmt.executeUpdate(); //因为是添加数据,一定要用executeUpdate(),count是影响的行数

        //7、处理结果,判断登录是否成功,只要rs里面有数据,就说明登录成功
        if(count>0){
            System.out.println("添加成功");
        }else{
            System.out.println("添加失败");
        }

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

    }

(三)根据id修改

1、编写SQL语句
2、是否需要参数?需要:Brand对象所有数据
3、返回结果如何封装?boolean

/**
     * 1、编写SQL语句:update tb_brand set brand_name = ? , company_name = ? ,ordered = ? , description = ? , status = ? where id = ?"
     * 2、是否需要参数?需要所有数据
     * 3、返回结果如何封装?Boolean
     *
     */

    @Test
    public void testUpdate() throws Exception{
        //1、创建驱动
        //2、获取连接
        String url = "jdbc:mysql://localhost:3306/db1?serverTimezone=GMT";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3、定义SQL
        String sql = "update tb_brand set brand_name = ? , company_name = ? , " +
                                         "ordered = ? , description = ? , status = ? " +
                                      "where id = ?";

        //4、获取PreparedStatement对象
        PreparedStatement pstmt = conn.prepareStatement(sql);

        //接受用户输入的品牌信息
        int input_id = 4;
        String input_brand_name = "龟苓爽";
        String input_company_name = "苼禾堂";
        int input_ordered = 500;
        String input_description = "过瘾不过火";
        int input_status = 0;

        //5、设置参数:查询语句中?占位符
        pstmt.setString(1, input_brand_name);
        pstmt.setString(2,input_company_name);
        pstmt.setInt(3,input_ordered);
        pstmt.setString(4,input_description);
        pstmt.setInt(5,input_status);
        pstmt.setInt(6,input_id);

        //6、执行sql
        int count = pstmt.executeUpdate(); //因为是添加数据,一定要用executeUpdate(),count是影响的行数

        //7、处理结果,判断登录是否成功,只要rs里面有数据,就说明登录成功
        if(count>0){
            System.out.println("修改成功");
        }else{
            System.out.println("修改失败");
        }

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

    }

(四)根据id删除

1、编写SQL语句
delete from tb_brand where id = ?
2、是否需要参数?需要id
3、返回结果如何封装?boolean

    /**
     * 1、编写SQL语句:delete from tb_brand where id = ?
     * 2、是否需要参数?需要id
     * 3、返回结果如何封装?Boolean
     *
     */

    @Test
    public void testDelete() throws Exception{
        //1、创建驱动
        //2、获取连接
        String url = "jdbc:mysql://localhost:3306/db1?serverTimezone=GMT";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url,username,password);

        //3、定义SQL
        String sql = "delete from tb_brand where id = ?";

        //4、获取PreparedStatement对象
        PreparedStatement pstmt = conn.prepareStatement(sql);

        //接受用户输入的品牌信息
        int input_id = 4;

        //5、设置参数:?占位符
        pstmt.setInt(1,input_id);

        //6、执行sql
        int count = pstmt.executeUpdate(); //因为是删除数据,一定要用executeUpdate(),count是影响的行数

        //7、处理结果,判断登录是否成功,只要rs里面有数据,就说明登录成功
        if(count>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }

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

    }
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:14:33  更:2022-03-17 22:16:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:21:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码