首页 > 数据库 >连接数据库并实现增、删、改、查

连接数据库并实现增、删、改、查

时间:2024-11-05 11:42:02浏览次数:1  
标签:String 实现 数据库 public int sql id 连接 pstmt

1、创建数据库表

2、创建实体类对象
package pojo;

/*
品牌
*/
public class Brand {
private int id; //id 主键(非空且唯一)
private String brandName; //品牌名称
private String company; //公司名称
private int order; //排序字段
private String description; //描述信息
private int status; //状态: 0:禁用 1:启用

public int getId() {
    return id;
}

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

public String getBrandName() {
    return brandName;
}

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

public String getCompany() {
    return company;
}

public void setCompany(String company) {
    this.company = company;
}

public int getOrder() {
    return order;
}

public void setOrder(int order) {
    this.order = order;
}

public String getDescription() {
    return description;
}

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

public int getStatus() {
    return status;
}

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

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

}

3-1、查询操作

package com.itheima.example;

import pojo.Brand;

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

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

public static void main(String[]args) throws Exception {
    //1、注册驱动
    Class.forName("com.mysql.cj.jdbc.Driver");

    //2、获取链接
    String username="root";
    String url="jdbc:mysql://localhost:3306/data?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
    String password="Lhw123456";
    Connection conn= DriverManager.getConnection(url,username,password);

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

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

    //5、执行sql
    ResultSet rs=pstmt.executeQuery();

    //6、处理结果List<Brand>,封装Brand对象,装在List集合
    Brand brand=null;
    List<Brand> brands=new ArrayList<>();
    while(rs.next()){
        //获取数据
        int id=rs.getInt("id");
        String brandName=rs.getString("brand_name");
        String company=rs.getString("company");
        int ordered=rs.getInt("ordered");
        int status=rs.getInt("status");
        String description=rs.getString("description");

        //封装Brand
        brand=new Brand();
        brand.setId(id);
        brand.setBrandName(brandName);
        brand.setCompany(company);
        brand.setOrder(ordered);
        brand.setStatus(status);
        brand.setDescription(description);

        //装载集合
        brands.add(brand);
    }
    System.out.println(brands);

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

}

3-2、增加操作(这里面id是数据库自动生成的,所以在创建数据库时需要把id设置成“自增字段(auto-increment)”)

package com.itheima.example;

import pojo.Brand;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class BrandAdd {
public static void main(String[]args) throws Exception {
//接收页面提交参数
String brandName="香飘飘";
String company="香飘飘";
int ordered=1;
int status=1;
String description="绕地球一圈";

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

    //2、获取链接
    String username="root";
    String url="jdbc:mysql://localhost:3306/data?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
    String password="Lhw123456";
    Connection conn= DriverManager.getConnection(url,username,password);

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

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

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

    //6、执行sql
    int count=pstmt.executeUpdate();//影响行数

    //7、处理结果
    System.out.println(count>0);

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

}

3-3、修改操作

public static void main(String[]args) throws Exception {
    //接收页面提交参数
    String brandName="香飘飘";
    String company="香飘飘";
    int ordered=1000;
    int status=1;
    String description="绕地球三圈";
    int id=4;


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

    //2、获取链接
    String username="root";
    String url="jdbc:mysql://localhost:3306/data?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
    String password="Lhw123456";
    Connection conn= DriverManager.getConnection(url,username,password);

    //3、定义sql
    String sql="UPDATE tb_brand\n" +
            "  set brand_name=?,\n" +
            "  company=       ?,\n" +
            "  ordered=       ?,\n" +
            "  status=        ?,\n" +
            "  description=   ?\n" +
            "  where id=?";

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

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

    //6、执行sql
    int count=pstmt.executeUpdate();//影响行数

    //7、处理结果
    System.out.println(count>0);

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

3-4、删除操作

public static void main(String[]args) throws Exception {
//接收页面提交参数
int id=4;

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

    //2、获取链接
    String username="root";
    String url="jdbc:mysql://localhost:3306/data?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
    String password="Lhw123456";
    Connection conn= DriverManager.getConnection(url,username,password);

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

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

    //5、设置参数
    pstmt.setInt(1,id);

    //6、执行sql
    int count=pstmt.executeUpdate();//影响行数

    //7、处理结果
    System.out.println(count>0);

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

标签:String,实现,数据库,public,int,sql,id,连接,pstmt
From: https://www.cnblogs.com/LiuHuWei/p/18527548

相关文章

  • clickhouse数据库,同样的分组方式、查询条件,求和的结果不一致
    原因clickhouse和其他数据库的不同点之一,在查询条件引用字段时,会优先取select查出来的字段,即便在字段的值中做了字符拼接,也会优先使用拼接后的字符。如下代码selectconcat(concat(substr('2024-09',1,4),'-01-'),'2024-09')asperiod,customer_no,customer......
  • 在 C# 中,如果您有一个 Dictionary<TKey, TValue>,并且您知道某个值(value),想要找到对应的键
    usingSystem;usingSystem.Collections.Generic;classProgram{staticvoidMain(){//创建一个字典Dictionary<string,int>sports=newDictionary<string,int>{{"篮球",1},{&qu......
  • 基于大数据 Python短视频推荐系统(源码+LW+部署讲解+数据库+ppt)
    !!!!!!!!!选题不知道怎么选不清楚自己适合做哪块内容都可以免费来问我避免后期給自己答辩找麻烦增加难度(部分学校只有一次答辩机会没弄好就延迟毕业了)会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:......
  • UE中基于FluidFlux插件实现洪水数据接入的一种思路
    这是FluidFlux插件文档链接:http://imaginaryblend.com/2021/09/26/fluid-flux/FluidFlux插件原本可以在编辑器模式下,通过右键SimulationDomain保存模拟状态,这个模拟状态保存后是一个资产文件以及三张纹理图Ground,Height,Velocity。SimulationDomain中有一个俯视的场景捕获相......
  • 基于图遍历的Flink任务画布模式下零代码开发实现方案
    作者:京东物流吴云涛前言提交一个DataSteam的Flink应用,需要经过StreamGraph、JobGraph、ExecutionGraph三个阶段的转换生成可成执行的有向无环图(DAG),并在Flink集群上运行。而提交一个FlinkSQL应用,其执行流程也类似,只是多了一步使用flink-table-planer模块从SQL转换......
  • (C++实现)2-NAF
    (C++实现)2-NAF前言‍任何一个非负整数,都有一个唯一的NAF(Non-adjacentform)表示。因着课程的缘由,我不得不研究一下NAF是怎么实现的,也是现学现用。‍Note:‍采用C++实现一篇很短的博客,专注于2-NAF‍‍目录‍目录(C++实现)2-NAF前言目录定义实现V1,最low......
  • 通过API实现旺店通和金蝶云无缝数据集
    旺店通其他入库对接金蝶其他入库-P_容错:技术案例分享在企业信息化管理中,数据的高效集成和处理是确保业务顺畅运行的关键环节。本文将聚焦于一个具体的系统对接集成案例——如何将旺店通·企业奇门的数据无缝集成到金蝶云星空平台。本次方案命名为“旺店通其他入库对接金蝶其他入......
  • python 实现灰色模型神经网络拟合算法
    灰色模型神经网络拟合算法介绍灰色模型神经网络拟合算法结合了灰色预测模型和神经网络的优势,用于处理样本数据量较少、信息不完全或具有不确定性的系统预测问题。以下是对该算法及其原理的详细介绍:一、灰色预测模型(GrayForecastModel)灰色预测是对既含有已知信息又含有......
  • python 实现蚁群算法
    蚁群算法介绍蚁群算法(AntColonyOptimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。这种算法由MarcoDorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。基本原理蚂蚁在运动过程中会留下一种称为信息素的化学物......
  • 基于Liquid State Machine的时间序列预测:利用储备池计算实现高效建模
    LiquidStateMachine(LSM) 是一种 脉冲神经网络(SpikingNeuralNetwork,SNN) ,在计算神经科学和机器学习领域中得到广泛应用,特别适用于处理 时变或动态数据。它是受大脑自然信息处理过程启发而提出的一种 脉冲神经网络 。设想你正处于一片平静的湖面,四周环绕着高山......