JAVA之MySQL数据库增删改查【Java入门练手】
  TEZNKK3IfmPf 2023年11月14日 33 0

一,前言

这是java老师的一个小组任务。拿来练手,让我对Java入门有了一些基本的感悟与熟悉。

二,页面设计

五组——熟食包点 1-添加熟食包点
2-删除熟食包点   / >按照编号删除   / >按照名称删除 3-修改熟食包点   / >按照编号修改   / >按照名称修改 4-查询熟食包点   / >按照熟食编号查询   / >按照熟食名称查询   / >按照熟食价格删除   / >查询全部熟食
5-排序熟食包点   / >按照价格排序   / >按照库存排序 6-退出熟食包点 请输入数字,选择菜单功能:

如上为基本的页面设计。

三,具体描述

3.1,添加熟食包点

JAVA之MySQL数据库增删改查【Java入门练手】 上述代码块解释: 终端输入数字1进入adduser方法,执行添加操作。 依次输入熟食编号,熟食名称,熟食价格,熟食库存。

service.addUser(uid, eatname, eatprice, spare);

调用service的方法进行添加。

3.1.1,service.addUser方法

public void addUser(String uid, String eatname, String eatprice, String spare) throws SQLException {
     dao.addUser(uid, eatname, eatprice, spare);
 }

接受ui传递的四个属性值,调用dao,进行添加。 起了一个中间传递的作用。

3.1.2,dao方法执行添加sql

添加一条记录。 JAVA之MySQL数据库增删改查【Java入门练手】 上述代码块解释: PreparedStatement:是包中的一个接口,继承Statement,里面有已编译的 SQL 语句。 我觉得他的作用就是简化sql繁琐的拼接过程,方便使用。 里面的sql语句里的?就是他的功劳,提高代码的可读性和可维护性。 执行INSERT 添加sql语句。 后使用executeUpdate抽象方法,返回更新计数。

3.2,删除熟食包点

按照编号删除和按照名称删除基本差不多,我们已按照编号删除来写一下。 ui核心代码:

Scanner input = new Scanner(System.in);
int a = input.nextInt();
int m = service.delete(a);

把我们需要删除的id输入,存储到变量a,执行service.delete方法,传递a给service类。

3.2.1,service.delete方法

public int delete(int a) throws SQLException {
        // TODO Auto-generated method stub
        return dao.deletewww(a);
    }

依然是传递作用哈。调用dao,进行删除。

3.2.2,dao方法执行删除sql

    public int deletewww(int a) throws SQLException {
        String sql = "DELETE FROM eat WHERE uid=?";
        PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql);
        pstmt.setInt(1, a);
        return pstmt.executeUpdate();
    }

如上代码解释: 较为简单获取传递的目标id值,执行删除sql语句。 后使用executeUpdate抽象方法,返回更新计数。

3.3,查询熟食包点

举例:按照熟食编号查询

JAVA之MySQL数据库增删改查【Java入门练手】 上述代码块解释: 把终端输入的查询目标id存入变量inputeatId,后执行:

UserBean user= service.searchByid(inputeatId);

调用service的方法进行查询。

3.3.1,service.searchByid方法

和上文一样,不多说了,传递的作用。 目标dao.searchByid。

3.2.2,dao方法执行查询sql

JAVA之MySQL数据库增删改查【Java入门练手】 上述代码块解释: executeQuery()方法来下达select指令以查询数据库。 rs.next():指针指向下一条记录,如果有记录,返回true

user=new UserBean(u,n, psw,s);

传入UserBean实体类。

如果传递的user不为空,执行输出语句。

System.out.format("%-2s %-8s %-5s %-5s"+'\n',"食品编号","食物名称","食物价格","食品库存");
。。。
System.out.format("%-8s %-8s %-8s %-5s "+'\n',user.getNumber(),user.geteatname(),user.geteatprice(),user.getspare());

为了规范输出,对其操作。

3.4,修改熟食包点

以按照编号修改为例 JAVA之MySQL数据库增删改查【Java入门练手】 上述代码块解释: 前面和查询操作一样,先执行查询操作,找到目标值。

System.out.println(user.getNumber()+"\t"+user.geteatname()+"\t"+user.geteatprice()+"\t"+user.getspare());

输出目标的查询结果(和上文查询操作一模一样)。

之后输入输入新的食物名称,输入新的食物价格,输入新的食物库存。 后执行updateid方法。

3.4.1,service.updateid方法

和上文一样,不多说了,传递的作用。 调用dao的searchByupdateid

3.4.2,dao方法执行更新sql

String sql ="update eat set eatname=?,eatprice=?,spare=? where uid=?";
PreparedStatement pstmt =(PreparedStatement) conn.prepareStatement(sql);

使用PreparedStatemen接口,继承Statement。 执行update sql更新语句。 将传递来的新目标变量,存入数据库中。

3.5排序熟食包点

以按照按照价格排序为例。

System.out.println("按照价格排序:");
        ResultSet rs = service.sortprice();

先执行service.sortprice方法。

3.5.1,service.updateid方法

和上文一样,不多说了,传递的作用。 调用dao的dao.sortprice

3.5.2,dao方法执行排序sql

public ResultSet sortprice() throws SQLException {
        Statement stmt = conn.createStatement();
        //String sql = "select * from eat";//表名
        String sql ="select * from eat order by eatprice desc";
        ResultSet rs = stmt.executeQuery(sql);
        return rs;
    }

上述代码解释: 执行排序sql语句以eatprice为目标建执行降序排序操作。

返回排序后的对象。

3.5.3,返回ui输出排序后

JAVA之MySQL数据库增删改查【Java入门练手】 while遍历结果集。 规定每一个元素占位符大小,为了美观好看,整齐。

JAVA之MySQL数据库增删改查【Java入门练手】

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   23天前   50   0   0 java
  TEZNKK3IfmPf   2024年05月31日   31   0   0 数据库mysql
TEZNKK3IfmPf