目录

前言

一、环境搭建

二、功能实现

1.商品信息类的创建

2.商品信息的查询

3.商品信息的添加

4.商品信息的修改

5.商品信息的删除

三、主类的调用

1.加载配置文件并获取数据库连接

2.界面的搭建

3.功能的选择

总结


前言

JAVA实现的MySQL数据库信息管理系统

包含数据库的增删改查功能

一、环境搭建

  1. 在MySQL数据库中创建一个商品信息表(tb_brand)
  1. 在idea创建一个工程文件,在工程文件下创建一个model模块,在model模块下载创建三个package包分别用来存放(Test)测试功能包、(function)功能包、(pojo)商品信息对象类,再在三个包中创建如下图所示文件
  1. 在src文件夹下添加数据库连接池的配置文件druid.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useSSL=false&useServerPrepStmts=true
#改为自己设置的用户名和密码
username=root
password=root
# 初始化连接数量
initialSize=5
# 最大连接数量
maxActive=10
# 最大等待时间
maxWait=3000

二、功能实现

1.商品信息类的创建

        为了防止属性不能被外类随意访问,因此采用private对学生类中的属性进行修饰并且进行创建set、get方法以便于调用属性,再创建打印数据方法,方便数据打印,代码如下:

//品牌信息
public class Brand {
    // id 主键
    private Integer id;
    // 品牌名称
    private String brandName;
    // 企业名称
    private String companyName;
    // 排序字段
    private Integer ordered;
    // 描述信息
    private String description;
    // 状态:0:禁用  1:启用
    private Integer status;

    public Brand() {
    }

    public Brand(Integer id, String brandName, String companyName, Integer ordered, String description, Integer status) {
        this.id = id;
        this.brandName = brandName;
        this.companyName = companyName;
        this.ordered = ordered;
        this.description = description;
        this.status = status;
    }

    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;
    }

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

2.商品信息的查询

       在BrandView查询类中,定义sql语句、获取pstmt对象、执行sql,再创建Arraylist列表,while循环获取数据库的数据并封装对象添加至集合中,最后打印集合

public static void Commodity_View(Connection conn) throws SQLException {
        //定义sql语句
        String sql = "SELECT ID, BRAND_NAME, COMPANY_NAME, ORDERED, DESCRIPTION, STATUS FROM tb_brand";
        //获取pStmt对象
        PreparedStatement pStmt = conn.prepareStatement(sql);
        //执行sql
        ResultSet rs = pStmt.executeQuery();
        //处理结果
        Brand brand = null;
        List<Brand> brands = new ArrayList<>();
        while (rs.next()) {
            //获取数据
            int id = rs.getInt("id");
            String brandName = rs.getString("brand_name");
            String companyName = rs.getString("company_name");
            int ordered = rs.getInt("ordered");
            String description = rs.getString("description");
            int status = rs.getInt("status");
            //封装对象
            brand = new Brand();
            brand.setId(id);
            brand.setBrandName(brandName);
            brand.setCompanyName(companyName);
            brand.setOrdered(ordered);
            brand.setDescription(description);
            brand.setStatus(status);
            //装载集合
            brands.add(brand);
        }
        System.out.println(brands);
        //释放资源
        rs.close();
        pStmt.close();
    }

3.商品信息的添加

       在BrandAdd添加类中,定义商品信息、定义sql语句、获取pstmt对象、再设置商品信息的对象,最后执行sql并处理返回结果

public static void Commodity_Add(Connection conn) throws SQLException {
        //商品数据
        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 (?,?,?,?,?)";
        //获取pStmt对象
        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 count = pStmt.executeUpdate();
        //处理结果
        System.out.println(count > 0);
        pStmt.close();
    }

4.商品信息的修改

       在BrandModify修改类中,定义商品信息、定义sql语句、获取pstmt对象、再设置商品信息的对象,最后执行sql并处理返回结果

public static void Commodity_Modify(Connection conn) throws SQLException {
        //商品数据
        String brandName = "香飘飘";
        String companyName = "香飘飘";
        int ordered = 1000;
        String description = "绕地球三圈";
        int status = 1;
        int id = 4;
        //定义sql
        String sql = "update tb_brand\n" +
                "set brand_name = ?,\n" +
                "company_name = ?,\n" +
                "ordered = ?,\n" +
                "description = ?,\n" +
                "status = ?\n" +
                "where id = ?";
        //获取pStmt对象
        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);
        pStmt.setInt(6, id);
        //执行sql
        int count = pStmt.executeUpdate();
        //处理结果
        System.out.println(count > 0);
        pStmt.close();
    }

5.商品信息的删除

       在BrandDelete删除类中,选择商品编号、定义sql语句、获取pstmt对象、再设置商品信息的对象,最后执行sql并处理返回结果

public static void Commodity_delete(Connection conn) throws SQLException {
        //商品编号
        int id = 4;
        //定义sql
        String sql = "delete from tb_brand where id = ?";
        //获取pStmt对象
        PreparedStatement pStmt = conn.prepareStatement(sql);
        //设置对象
        pStmt.setInt(1, id);
        //执行sql
        int count = pStmt.executeUpdate();
        //处理结果
        System.out.println(count > 0);
        pStmt.close();
        conn.close();
    }

三、主类的调用

1.加载配置文件并获取数据库连接

在主程序中加载durid.properties配置文件并获取数据库连接

//加载配置文件
        Properties prop = new Properties();
        prop.load(new FileInputStream("database/src/druid.properties"));
        //获取连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
        //获取数据库连接
        Connection conn = dataSource.getConnection();

2.界面的搭建

使用使用System.out.println()方法输出界面

System.out.println("功能选择:");
            System.out.println("查询商品信息:1");
            System.out.println("添加商品信息:2");
            System.out.println("修改商品信息:3");
            System.out.println("删除商品信息:4");
            System.out.println("退出:0");

3.功能的选择

    先使用Scanner()方法在控制台接收用户键盘录入的数据,再将输入的数据,通过switch(int flag) case :方法进行判断选择对应的系统或对应的功能,具体实现方法如下图:

//功能选择
        int flag = 0;
        Scanner sc = new Scanner(System.in);
        while (true) {
            flag = sc.nextInt();
            switch (flag) {
                case 1://数据库查看商品信息
                    Commodity_View(conn);
                    break;
                case 2://数据库添加商品信息
                    Commodity_Add(conn);
                    break;
                case 3://数据库修改信息
                    Commodity_Modify(conn);
                    break;
                case 4://数据库删除信息
                    Commodity_delete(conn);
                    break;
                case 0://退出
                    System.out.println("已退出");
                    conn.close();
                    System.exit(0);
                    break;
            }
        }

总结

以上是该系统的设计思路,如有问题或者建议可以留言,感谢阅读。