/**
*处理日期的工具类
*/
public class DateUtil {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 使用全局变量: sdf,将字符串转换为java.util.Date类型并返回
* 注意,不能声明任何形式的异常抛出,否则测试用例无法通过
* @param stringDate
* @return
*/
public static Date convertFromStringToDate(String stringDate) {
// 补全代码:
Date date = null;
try{
date = sdf.parse(stringDate);
}catch(ParseException e){
e.printStackTrace();
}
return date;
}
/**
* 使用全局变量: sdf,将日期转换成字符串
* @param date 需要被转换的日期
* @return 转换之后的字符串形式的日期
*/
public static String convertFromDateToString(Date date) {
// 补全或替换代码
return sdf.format(date);
}
}
/**
* 接口实现类
*/
public class GoodsDaoImpl implements GoodsDao{
/*
* ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
* */
ObjectUtil<Goods> goodsUtil = new ObjectUtil<Goods>();
/**
* 查询所有商品中价钱最贵的商品名称
* @return 返回商品名称
*/
public String queryExpensiveGoods() {
// 请补全sql语句
String sql = "select name from goods order by price desc limit 1";
//方法2: "select * from goods where price=(select max(price) from goods)";
Goods g = goodsUtil.getOne(sql, Goods.class);
return g.getName();
}
/**
* 查询所有商品的总价值金额
* @return 返回所有商品的总价值金额
*/
public double querySum() {
String sql = "select * from goods";
double sum = 0;
List<Goods> list = goodsUtil.getList(sql, Goods.class);
for (Goods goods : list) {
// 请补全代码
sum +=goods.getNum()*goods.getPrice();
}
return sum;
}
/**
* 接口实现类
*/
public class MemberDaoImpl implements MemberDao{
/*
* ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
* */
ObjectUtil<Member> memberUtil = new ObjectUtil<Member>();
/**
* 根据会员的积分来更新会员的等级
* 0<=score<100分,等级为0
* 100<=score<200分,等级为1
* 200<=score<300分,等级为2
* 300<=score<400分,等级为3
* 400<=score<500分,等级为4
* 500<=score分,等级为5
* @return
*/
public void updateRank() {
// 请补全sql语句
String sql = "update member set `rank`=case when score<100 then 0 when score<200 then 1 when score<300 then 2 when score<400 then 3 when score<500 then 4 else 5 end";
memberUtil.update(sql);
}
/**
* 给每个会员的密码加密
* 加密规则:密码的逆序。
* 如:原来的密码是123,加密后为321。
*/
public void updatePwd(){
// 请补全sql语句
String sql = "update member set pwd=reverse(pwd)";
memberUtil.update(sql);
}
/**
* 接口实现类
*/
public class OrderDaoImpl implements OrderDao{
/*
* ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
* */
ObjectUtil<Order> orderUtil = new ObjectUtil<Order>();
/**
* 查询一共有多少笔订单
* @return 返回订单数量
*/
public int queryNum() {
String sql = "select * from `order`;";
List<Order> o = orderUtil.getList(sql, Order.class);
Set<Integer> s = new HashSet<Integer>();
for (Order order : o) {
// 请补全语句
s.add(order.getId());
}
return s.size();
}
/**
* 查询消费金额最多的人
* @return 返回会员名称
*/
public String queryMax() {
// 请补全sql语句
String sql = "select * from `order` where mname=(select mname from `order` group by mname order by sum(price*num) desc limit 1)";
Order o = orderUtil.getOne(sql, Order.class);
return o.getMname();
}