20211030 1+X 中级实操考试(id:2498)

package org.lanqiao.bean; public class Member { private String name; private String pwd; private float score; private int rank; //已经提供Member类的属性,补充完成该类的有参(四个参数)及无参构造方法 }

//已经提供Member类的属性,补充完成该类的有参(四个参数)及无参构造方法
	public Member() {
		
	}

	public Member(String name, String pwd, float score, int rank) {
		this.name = name;
		this.pwd = pwd;
		this.score = score;
		this.rank = rank;
	}

package org.lanqiao.bean; public class Goods { //请修改该方法,并且在赋值时,商品数量不能超过100 public void setNum(int num) { this.num = num; } }


	//请修改该方法,并且在赋值时,商品数量不能超过100
	public void setNum(int num) {
		if(num<=100){
			this.num = num;
		}
	}

/** * 使用全局变量: sdf,将字符串转换为java.util.Date类型并返回 * @param stringDate * 注意,不能声明任何形式的异常抛出,否则测试用例无法通过 * @return */ public static Date convertFromStringToDate(String stringDate) { // 补全代码: Date date = null; return date; }


    /**
     * 使用全局变量: sdf,将日期转换成字符串
     * @param date 需要被转换的日期
     * @return 转换之后的字符串形式的日期
     */
    public static String convertFromDateToString(Date date) {
        // 补全或替换代码
        return null;
    }
package org.lanqiao.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *处理日期的工具类
 */
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);
	}
}
package org.lanqiao.daoimpl;

import java.util.List;

import org.lanqiao.bean.Goods;
import org.lanqiao.dao.GoodsDao;
import org.lanqiao.db.ObjectUtil;

/**
 * 接口实现类
 */
public class GoodsDaoImpl implements GoodsDao{
        /*
         * ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
         * */
        ObjectUtil<Goods> goodsUtil = new ObjectUtil<Goods>();

        /**
	 * 查询所有商品中价钱最贵的商品名称
	 * @return 返回商品名称
	 */
	public String queryExpensiveGoods() {
                // 请补全sql语句
                String sql = "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;
        }

        /**
	 * 插入商品
	 * @param goods 商品对象
	 * @return
	 */
	public int add(Goods goods) {
                String sql = "insert into goods values(?,?,?)";
                return goodsUtil.add(sql, goods.getName(),goods.getPrice(),goods.getNum());
        }

        /**
	 * 依据商品名称来删除商品
	 * @param name 商品名称
	 * @return 存在名字则删除,并返回true;不存在则不删除,并返回false
	 */
	public boolean deleteGoods(String name) {
                // 请补全sql语句
                String sql = "delete from goods where name=?";
                int a = goodsUtil.delete(sql, name);
                if(a>0){
                          return true;
                }else{
                          return false;  
                }
        }
}
package org.lanqiao.daoimpl;

import org.lanqiao.bean.Member;
import org.lanqiao.dao.MemberDao;
import org.lanqiao.db.ObjectUtil;

/**
 * 接口实现类
 */
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";
				//String sql = "update member set `rank`=if(score<500,floor(score/100),5)"
                memberUtil.update(sql); 
        }

        /**
	 * 给每个会员的密码加密
	 * 加密规则:密码的逆序。
	 * 如:原来的密码是123,加密后为321。
	 */
	public void updatePwd(){
                // 请补全sql语句
                String sql = "update member set pwd=reverse(pwd)";
                memberUtil.update(sql); 
        }

         /**
	 * 根据会员名称来查询会员
	 * @return 返回会员对象
	 */
	public Member queryMember(String name) {
                String sql = "select * from member where name=?";
                Member g = memberUtil.getOne(sql, Member.class, name);
                return g; 
        }

         /**
	 * 插入会员
	 * @param member 会员对象
	 * @return
	 */
	public int add(Member member){
                String sql = "insert into member values(?,?,?,?)";
                return memberUtil.add(sql, member.getName(),member.getPwd(),member.getScore(),member.getRank());
        }

        /**
	 * 依据会员名称来删除会员
	 * @param name 会员名称
	 * @return 存在名字则删除,并返回true;不存在则不删除,并返回false
	 */
	public boolean deleteMember(String name) {
                // 请补全sql语句
                String sql = "delete from member where name=?";
                int a = memberUtil.delete(sql, name);
                if(a>0){
                          return true;
                }else{
                          return false;  
                }
        }
}
package org.lanqiao.daoimpl;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.lanqiao.bean.Order;
import org.lanqiao.dao.OrderDao;
import org.lanqiao.db.ObjectUtil;

/**
 * 接口实现类
 */
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(num*price) desc limit 1)";
                Order o = orderUtil.getOne(sql, Order.class); 
                return o.getMname();
        }

	/**
	 * 插入订单
	 * @param order 订单对象
	 * @return
	 */
	public int add(Order order) {
                String sql = "insert into `order` values(?,?,?,?,?)";
                return orderUtil.add(sql, order.getId(), order.getMname(), order.getGname(), order.getNum(), order.getPrice());
        }

	/**
	 * 依据订单号来删除订单
	 * @param id 订单号
	 * @return 存在订单号则删除,并返回true;不存在则不删除,并返回false
	 */
	public boolean deleteOrder(int id) {
                // 请补全sql语句
                String sql = "delete from `order` where id=?";
                int a = orderUtil.delete(sql, id);
                if(a>0){
                          return true;
                }else{
                          return false;  
                }
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃java的羊儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值