保定 网站建设软件开发,门户网站创新的方式有,wordpress相关文章小工具,网站制作div区域是哪儿实验14#xff1a;20211030 1X 中级实操考试#xff08;id#xff1a;2498#xff09; 一、项目背景说明二、表结构三、步骤【5 分】步骤 1#xff1a;项目准备【5 分】步骤 2#xff1a;完成实体类 Member【10 分】步骤 3#xff1a;完成实体类 Goods【10 分】步骤 420211030 1X 中级实操考试id2498 一、项目背景说明二、表结构三、步骤【5 分】步骤 1项目准备【5 分】步骤 2完成实体类 Member【10 分】步骤 3完成实体类 Goods【10 分】步骤 4完成工具类 DateUtil的convertFromStringToDate方法【10 分】步骤 5完成工具类 DateUtil的convertFromDateToString 方法【10 分】步骤 6完成 GoodsDaoImpl 的 queryExpensiveGoods 方法【10 分】步骤 7完成 GoodsDaoImpl 的 querySum 方法【10 分】步骤 8完成 MemberDaoImpl 的 updatePwd 方法【10 分】步骤 9完成 MemberDaoImpl 的 updateRank 方法【10 分】步骤 10完成 OrderDaoImpl 的 queryNum 方法【10 分】步骤 11完成 OrderDaoImpl 的 queryMax 方法 一、项目背景说明
超市管理系统是超市、商店等单位使用的一套系统本项目使用控制台来模拟其部分功能。
在超市管理系统中涉及到的实体类有会员类 Member、商品类 Goods、订单类 Order。对应的数据表有会员表 member、商品表 goods、订单表 order。功能主要涉及到会员管理、查看商品信息、查看订单信息、商品销售额汇总、个人积分等。
二、表结构
member 表
该表的含义是 会员共有 4 个字段详情如下
表字段数据库数据类型含义备注nameVARCHAR会员姓名主键pwdVARCHAR会员密码scoreFLOAT会员积分rankINT会员等级
goods 表
该表的含义是 商品共有 3 个字段详情如下
表字段数据库数据类型备注备注nameVARCHAR商品名称主键priceINT商品单价numINT商品数量
order 表
该表的含义是 订单共有 5 个字段详情如下
表字段数据库数据类型含义备注idINT订单号mnameVARCHAR会员姓名外键-会员表namegnameVARCHAR商品名称外键-商品表namenumINT商品数量priceFLOAT商品单价
三、步骤
【5 分】步骤 1项目准备
复制粘贴、略。
【5 分】步骤 2完成实体类 Member
题目
首先我们要设计一系列的实体类它们是 org.lanqiao.bean.Member、org.lanqiao.bean.Goods、org.lanqiao.bean.Order 现在 Member 类需要你来完善。
org.lanqiao.bean.Member是一个实体类有四个属性与数据库表 member 及其字段一一对应对应关系如下。
【数据库表 member 的字段及其与实体类 Member 的属性的对应关系】
序号类属性表字段数据库数据类型备注1namenameVARCHAR主键2pwdpwdVARCHAR3scorescoreFLOAT4rankrankINT
请根据注释要求补全空缺的代码。
package org.lanqiao.bean;public class Member {private String name;private String pwd;private float score;private int rank;//已经提供Member类的属性补充完成该类的有参四个参数及无参构造方法}答案
public Member(){}public Member(String name, String pwd, float score, int rank){this.setName(name);this.setPwd(pwd);this.setScore(score);this.setRank(rank);
}【10 分】步骤 3完成实体类 Goods
题目
现在来完善 Goods 商品类。
org.lanqiao.bean.Goods是一个实体类有三个属性与数据库表 goods 及其字段一一对应对应关系如下。
【数据库表 goods 的字段及其与实体类 Goods 的属性的对应关系】
序号类属性表字段数据库数据类型备注1namenameVARCHAR主键2pricepriceFLOAT3numnumINT
请根据注释要求补全空缺的代码。
package org.lanqiao.bean;public class Goods {//请修改该方法并且在赋值时商品数量不能超过100public void setNum(int num) {this.num num;}}答案
public void setNum(int num) {if (num 100) return;this.num num;
}【10 分】步骤 4完成工具类 DateUtil的convertFromStringToDate方法
题目
在项目中我们需要用到日期和字符串类型的相互转换我们把这些功能封装到 org.lanqiao.util.DateUtil 里面请根据注释要求补全 convertFromStringToDate /*** 使用全局变量 sdf将字符串转换为java.util.Date类型并返回* param stringDate* 注意不能声明任何形式的异常抛出否则测试用例无法通过* return*/public static Date convertFromStringToDate(String stringDate) {// 补全代码Date date null;return date;}答案
public static Date convertFromStringToDate(String stringDate) {// 补全代码Date date null;try {date sdf.parse(stringDate);} catch (Exception e) {// TODO: handle exception}return date;
}【10 分】步骤 5完成工具类 DateUtil的convertFromDateToString 方法
题目
请根据注释要求补全org.lanqiao.util.DateUtil 的 convertFromDateToString 方法。 /*** 使用全局变量 sdf将日期转换成字符串* param date 需要被转换的日期* return 转换之后的字符串形式的日期*/public static String convertFromDateToString(Date date) {// 补全或替换代码return null;}答案
public static String convertFromDateToString(Date date) {// 补全或替换代码return sdf.format(date);
}【10 分】步骤 6完成 GoodsDaoImpl 的 queryExpensiveGoods 方法
题目 数据存入数据库之后我们需要进行相关的 CRUD进行数据的处理和展示数据库中有关商品的操作我们封装到 org.lanqiao.daoimpl.GoodsDaoImpl 里面请帮忙完成。 请根据注释要求补全 queryExpensiveGoods 方法。 /*** 查询所有商品中价钱最贵的商品名称* return 返回商品名称*/public String queryExpensiveGoods() {// 请补全sql语句String sql ###;Goods g goodsUtil.getOne(sql, Goods.class);return g.getName();
}答案
public String queryExpensiveGoods() {// 请补全sql语句String sql select name from goods where price (select max(price) from goods);Goods g goodsUtil.getOne(sql, Goods.class);return g.getName();
}【10 分】步骤 7完成 GoodsDaoImpl 的 querySum 方法
题目 数据存入数据库之后我们需要进行相关的 CRUD进行数据的处理和展示数据库中有关商品的操作我们封装到 org.lanqiao.daoimpl.GoodsDaoImpl 里面请帮忙完成。 请根据注释要求补全 querySum 方法。 /*** 查询所有商品的总价值金额* return 返回所有商品的总价值金额*/public double querySum() {String sql select * from goods;double sum 0;ListGoods list goodsUtil.getList(sql, Goods.class);for (Goods goods : list) {// 请补全代码}return sum;}
}答案
public double querySum() {String sql select * from goods;double sum 0;ListGoods list goodsUtil.getList(sql, Goods.class);for (Goods goods : list) {// 请补全代码sum goods.getNum() * goods.getPrice();}return sum;
}【10 分】步骤 8完成 MemberDaoImpl 的 updatePwd 方法
题目 数据存入数据库之后我们需要进行相关的 CRUD进行数据的处理和展示数据库中有关会员的操作我们封装到 org.lanqiao.daoimpl.MemberDaoImpl 里面请帮忙完成。 请根据注释要求补全 updatePwd 方法。 /*** 给每个会员的密码加密* 加密规则密码的逆序。* 如原来的密码是123加密后为321。*/public void updatePwd(){// 请补全sql语句String sql ###;memberUtil.update(sql); }
答案
public void updatePwd(){// 请补全sql语句String sql update member set pwd reverse(pwd);memberUtil.update(sql);
}【10 分】步骤 9完成 MemberDaoImpl 的 updateRank 方法
题目 数据存入数据库之后我们需要进行相关的 CRUD进行数据的处理和展示数据库中有关会员的操作我们封装到 org.lanqiao.daoimpl.MemberDaoImpl 里面请帮忙完成。 请根据注释要求补全 updateRank 方法。 /*** 根据会员的积分来更新会员的等级* 0score100分等级为0* 100score200分等级为1* 200score300分等级为2* 300score400分等级为3* 400score500分等级为4* 500score分等级为5* return*/public void updateRank() {// 请补全sql语句String sql ###;memberUtil.update(sql); }
答案 踩坑——字段名上的标点符号 必须加上否则报错。
public void updateRank() {// 请补全sql语句String sql update member set rank (case when score between 0 and 99 then 0 when score between 100 and 199 then 1 when score between 200 and 299 then 2 when score between 300 and 399 then 3 when score between 400 and 499 then 4 when score 500 then 5 end);memberUtil.update(sql);
}【10 分】步骤 10完成 OrderDaoImpl 的 queryNum 方法
题目 数据存入数据库之后我们需要进行相关的 CRUD进行数据的处理和展示数据库中有关订单的操作我们封装到 org.lanqiao.daoimpl.OrderDaoImpl 里面请帮忙完成。 请根据注释要求补全 queryNum 方法。
/*** 查询一共有多少笔订单* return 返回订单数量*/
public int queryNum() {String sql select * from order;;ListOrder o orderUtil.getList(sql, Order.class); SetInteger s new HashSetInteger();for (Order order : o) {// 请补全语句}return s.size();
}答案
public int queryNum() {String sql select * from order;;ListOrder o orderUtil.getList(sql, Order.class); SetInteger s new HashSetInteger();for (Order order : o) {// 请补全语句s.add(order.getId());}return s.size();
}【10 分】步骤 11完成 OrderDaoImpl 的 queryMax 方法
题目 数据存入数据库之后我们需要进行相关的 CRUD进行数据的处理和展示数据库中有关订单的操作我们封装到 org.lanqiao.daoimpl.OrderDaoImpl 里面请帮忙完成。 请根据注释要求补全 queryMax 方法。
/*** 查询消费金额最多的人* return 返回会员名称*/
public String queryMax() {// 请补全sql语句String sql ###;Order o orderUtil.getOne(sql, Order.class); return o.getMname();
}答案 踩坑——字段名上的标点符号 必须加上否则报错。
public String queryMax() {// 请补全sql语句String sql select * from order order by (num*price) desc limit 1;Order o orderUtil.getOne(sql, Order.class); return o.getMname();
}