Java项目:261SSM的食堂点餐系统

作者主页: 夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码

项目介绍

基于SSM的食堂点餐系统

角色:管理员、用户

前台用户可以实现商品浏览,加入购物车,加入收藏,预定,选座,个人信息管理,收货信息管理,收藏管理,评论功能,我的订单等。

食堂:个人中心、修改密码、个人信息、食堂菜单管理、菜系分类管理、消息留言管理、订单管理

系统管理员,管理员登录后,通过管理员菜单来管理后台系统。主要功能有:个人中心、用户管理、食堂管理、食堂菜单管理、菜系分类管理、消息留言管理、留言板管理、系统管理、订单管理等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7/8.0等版本均可;

技术栈

后端:SSM(Spring+SpringMVC+Mybatis)

前端:JSP+CSS+JS+JQUERY+Layui

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;

运行截图

代码相关

地址管理控制器


@Controller
@RequestMapping("/address")
public class AddressController extends BaseController {
    
    
    /**
     * 依赖注入 start dao/service/===
     */
    @Autowired
    private AddressService addressService;
    
    // --------------------------------------- 华丽分割线 ------------------------------
    
    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAll")
    public String listAll(Address address, Model model, HttpServletRequest request, HttpServletResponse response){
        List<Address> listAll = addressService.listAll();
        model.addAttribute("list", listAll);
        return "address/address";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntity")
    public String listByEntity(Address address, Model model, HttpServletRequest request, HttpServletResponse response){
        List<Address> listAll = addressService.listAllByEntity(address);
        model.addAttribute("list", listAll);
        return "address/address";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMap")
    public String listByMap(Address address, Model model, HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(address.getName())){
                params.put("name", address.getName());
            }
            if(!isEmpty(address.getPhone())){
                params.put("phone", address.getPhone());
            }
            if(!isEmpty(address.getArea())){
                params.put("area", address.getArea());
            }
            if(!isEmpty(address.getBm())){
                params.put("bm", address.getBm());
            }
            if(!isEmpty(address.getIsUse())){
                params.put("isUse", address.getIsUse());
            }
        List<Address> listAll = addressService.listByMap(params);
        model.addAttribute("list", listAll);
        return "address/address";
    }
    
    
    /*********************************查询列表【分页】***********************************************/
    
    
    
    /**
     * 分页查询 返回list对象(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObj")
    public String findByObj(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<Address> pagers = addressService.findByEntity(address);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", address);
        return "address/address";
    }
    
    /**
     * 分页查询 返回list对象(通过对By Sql)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findBySql")
    public String findBySql(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        String sql = "SELECT * FROM address WHERE 1=1 ";
        if(!isEmpty(address.getName())){
            sql += " and name like '%"+address.getName()+"%'";
        }
        if(!isEmpty(address.getPhone())){
            sql += " and phone like '%"+address.getPhone()+"%'";
        }
        if(!isEmpty(address.getArea())){
            sql += " and area like '%"+address.getArea()+"%'";
        }
        if(!isEmpty(address.getBm())){
            sql += " and bm like '%"+address.getBm()+"%'";
        }
        if(!isEmpty(address.getIsUse())){
            sql += " and isUse like '%"+address.getIsUse()+"%'";
        }
       sql += " ORDER BY ID DESC ";
        Pager<Address> pagers = addressService.findBySqlRerturnEntity(sql);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", address);
        return "address/address";
    }
    
    
    
    @RequestMapping(value = "/my")
    public String my(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Object attribute = request.getSession().getAttribute("userId");
        if (attribute == null){
            return "redirect:/login/uLogin";
        }
        JSONObject js = new JSONObject();
        Integer userId = Integer.valueOf(attribute.toString());
        String sql = "SELECT * FROM address WHERE 1=1 and userId = "+userId;
        if(!isEmpty(address.getName())){
            sql += " and name like '%"+address.getName()+"%'";
        }
        if(!isEmpty(address.getPhone())){
            sql += " and phone like '%"+address.getPhone()+"%'";
        }
        if(!isEmpty(address.getArea())){
            sql += " and area like '%"+address.getArea()+"%'";
        }
        if(!isEmpty(address.getBm())){
            sql += " and bm like '%"+address.getBm()+"%'";
        }
        if(!isEmpty(address.getIsUse())){
            sql += " and isUse like '%"+address.getIsUse()+"%'";
        }
       sql += " ORDER BY ID DESC ";
        Pager<Address> pagers = addressService.findBySqlRerturnEntity(sql);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", address);
        return "address/my";
    }
    
    /**
     * 分页查询 返回list对象(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMap")
    public String findByMap(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(address.getName())){
            params.put("name", address.getName());
        }
        if(!isEmpty(address.getPhone())){
            params.put("phone", address.getPhone());
        }
        if(!isEmpty(address.getArea())){
            params.put("area", address.getArea());
        }
        if(!isEmpty(address.getBm())){
            params.put("bm", address.getBm());
        }
        if(!isEmpty(address.getIsUse())){
            params.put("isUse", address.getIsUse());
        }
        //分页查询
        Pager<Address> pagers = addressService.findByMap(params);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", address);
        return "address/address";
    }
    
    /**********************************【增删改】******************************************************/
    
    /**
     * 跳至添加页面
     * @return
     */
    @RequestMapping(value = "/add")
    public String add() {
        return "address/add";
    }

    /**
     * 跳至详情页面
     * @return
     */
    @RequestMapping(value = "/view")
    public String view(Integer id,Model model) {
        Address obj = addressService.load(id);
        model.addAttribute("obj",obj);
        return "address/view";
    }
    
    /**
     * 添加执行
     * @return
     */
    @RequestMapping(value = "/exAdd")
    public String exAdd(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        Object attribute = request.getSession().getAttribute("userId");
        if (attribute == null){
            return "redirect:/login/uLogin";
        }
        Integer userId = Integer.valueOf(attribute.toString());
        address.setUserId(userId);
        address.setIsUse(0);
        addressService.insert(address);
        
        return "redirect:/car/view.action";
    }
    
    
    @RequestMapping(value = "/exAdd1")
    public String exAdd1(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        Object attribute = request.getSession().getAttribute("userId");
        if (attribute == null){
            return "redirect:/login/uLogin";
        }
        Integer userId = Integer.valueOf(attribute.toString());
        address.setUserId(userId);
        address.setIsUse(0);
        addressService.insert(address);
        
        return "redirect:/address/my.action";
    }
    
    /**
     * 跳至修改页面
     * @return
     */
    @RequestMapping(value = "/update")
    public String update(Integer id,Model model) {
        Address obj = addressService.load(id);
        model.addAttribute("obj",obj);
        return "address/update";
    }
    
    /**
     * 添加修改
     * @return
     */
    @RequestMapping(value = "/exUpdate")
    public String exUpdate(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        addressService.updateById(address);
        //2.通过主键id修改
        //addressService.updateById(address);
        return "redirect:/car/view.action";
    }
    
    @RequestMapping(value = "/exUpdate2")
    public String exUpdate2(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        addressService.updateById(address);
        //2.通过主键id修改
        //addressService.updateById(address);
        return "redirect:/address/my.action";
    }
    @RequestMapping(value = "/delete1")
    public String delete1(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        addressService.deleteById(id);
        /*以下是多种删除方式*/
        return "redirect:/address/my.action";
    }
    @RequestMapping(value = "/mr")
    public String mr(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        //分页查询
    Object attribute = request.getSession().getAttribute("userId");
    if (attribute == null){
        return "redirect:/login/uLogin";
    }
    JSONObject js = new JSONObject();
    Integer userId = Integer.valueOf(attribute.toString());
    String sql = "SELECT * FROM address WHERE 1=1 and userId = "+userId;
    List<Address> listBySqlReturnEntity = addressService.listBySqlReturnEntity(sql);
    if (!CollectionUtils.isEmpty(listBySqlReturnEntity)){
        for(Address a : listBySqlReturnEntity){
            a.setIsUse(0);
            addressService.updateById(a);
        }
    }
    Address load = addressService.load(id);
    load.setIsUse(1);
    addressService.updateById(load);
        /*以下是多种删除方式*/
        return "redirect:/address/my.action";
    }
    /**
     * 删除通过主键
     * @return
     */
    @RequestMapping(value = "/delete")
    public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        addressService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        addressService.deleteByEntity(address);
//        //3.通过参数删除
//     //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(address.getName())){
//            params.put("name", address.getName());
//        }
//       
//        if(!isEmpty(address.getPhone())){
//            params.put("phone", address.getPhone());
//        }
//       
//        if(!isEmpty(address.getArea())){
//            params.put("area", address.getArea());
//        }
//       
//        if(!isEmpty(address.getBm())){
//            params.put("bm", address.getBm());
//        }
//       
//        if(!isEmpty(address.getIsUse())){
//            params.put("isUse", address.getIsUse());
//        }
//       
//        addressService.deleteByMap(params);
//        //4.状态删除
//        Address load = addressService.getById(address.getId())
//        load.setIsDelete(1);
//        addressService.update(load);
        //5.状态删除
        //Address load = addressService.load(id);
        //load.setIsDelete(1);
        //addressService.update(load);
        return "redirect:/address/findBySql.action";
    }
    
    // --------------------------------------- 华丽分割线 ------------------------------
    // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------

    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAllJson", method = RequestMethod.POST)
    @ResponseBody
    public String listAllJson(Address address, HttpServletRequest request, HttpServletResponse response){
        List<Address> listAll = addressService.listAll();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", address);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByEntityJson(Address address,  HttpServletRequest request, HttpServletResponse response){
        List<Address> listAll = addressService.listAllByEntity(address);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", address);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByMapJson(Address address,HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(address.getName())){
                params.put("name", address.getName());
            }
            if(!isEmpty(address.getPhone())){
                params.put("phone", address.getPhone());
            }
            if(!isEmpty(address.getArea())){
                params.put("area", address.getArea());
            }
            if(!isEmpty(address.getBm())){
                params.put("bm", address.getBm());
            }
            if(!isEmpty(address.getIsUse())){
                params.put("isUse", address.getIsUse());
            }
        List<Address> listAll = addressService.listByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", address);
        return jsonObject.toString();
    }
    
    
    /**
     * 分页查询 返回list json(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST)
    @ResponseBody
    public String findByObjByEntityJson(Address address, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<Address> pagers = addressService.findByEntity(address);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", address);
        return jsonObject.toString();
    }
    
      
    /**
     * 分页查询 返回list json(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMapJson",  method = RequestMethod.POST)
    @ResponseBody
    public String findByMapJson(Address address,HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(address.getName())){
            params.put("name", address.getName());
        }
        if(!isEmpty(address.getPhone())){
            params.put("phone", address.getPhone());
        }
        if(!isEmpty(address.getArea())){
            params.put("area", address.getArea());
        }
        if(!isEmpty(address.getBm())){
            params.put("bm", address.getBm());
        }
        if(!isEmpty(address.getIsUse())){
            params.put("isUse", address.getIsUse());
        }
        //分页查询
        Pager<Address> pagers = addressService.findByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", address);
        return jsonObject.toString();
    }
    
    
    /**
     * ajax 添加
     * @param 
     * @return
     */
    @RequestMapping(value = "/exAddJson", method = RequestMethod.POST)
    @ResponseBody
    public String exAddJson(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        addressService.insert(address);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "添加成功");
        return jsonObject.toString();
    }
    

    /**
     * ajax 修改
     * @param 
     * @return
     */
    @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST)
    @ResponseBody
    public String exUpdateJson(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        addressService.updateById(address);
        //2.通过主键id修改
        //addressService.updateById(address);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "修改成功");
        return jsonObject.toString();
    }

    /**
     * ajax 删除
     * @return
     */
    @RequestMapping(value = "/delete.json", method = RequestMethod.POST)
    @ResponseBody
    public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        addressService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        addressService.deleteByEntity(address);
//        //3.通过参数删除
//        //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(address.getName())){
//            params.put("name", address.getName());
//        }
//       
//        if(!isEmpty(address.getPhone())){
//            params.put("phone", address.getPhone());
//        }
//       
//        if(!isEmpty(address.getArea())){
//            params.put("area", address.getArea());
//        }
//       
//        if(!isEmpty(address.getBm())){
//            params.put("bm", address.getBm());
//        }
//       
//        if(!isEmpty(address.getIsUse())){
//            params.put("isUse", address.getIsUse());
//        }
//       
//        addressService.deleteByMap(params);
//        //4.状态删除
//        Address load = addressService.getById(address.getId())
//        load.setIsDelete(1);
//        addressService.updateById(load);
        //5.状态删除
        //Address load = addressService.load(id);
        //load.setIsDelete(1);
        //addressService.updateById(load);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "删除成功");
        return jsonObject.toString();
    }
    /**
     * 单文件上传
     * @param file
     * @param request
     * @param model
     * @return
     */
    @RequestMapping(value = "/saveFile")  
    public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {  
  
        System.out.println("开始");  
        String path = request.getSession().getServletContext().getRealPath("/upload");  
        String fileName = file.getOriginalFilename();  
        System.out.println(path);  
        File targetFile = new File(path, fileName);  
        if(!targetFile.exists()){  
            targetFile.mkdirs();  
        }  
        //保存  
        try {  
            file.transferTo(targetFile);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
  
        return "";  
    }  
    
    
    /**
     * springMvc多文件上传
     * @param files
     * @param id
     * @return
     */
    @RequestMapping(value = "/saveFiles")
    public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
        for(int i = 0;i<files.length;i++){
              System.out.println("fileName---------->" + files[i].getOriginalFilename());
          if(!files[i].isEmpty()){
            int pre = (int) System.currentTimeMillis();
             try {
            //拿到输出流,同时重命名上传的文件
             String filePath = request.getRealPath("/upload");
             File f=new File(filePath);
             if(!f.exists()){
                f.mkdirs();
             }
             String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
             File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
              if(!file.exists()){
                  file.createNewFile();
             }
              files[i].transferTo(file);
             } catch (Exception e) {
                e.printStackTrace();
                System.out.println("上传出错");
             }
          }
        }
      return "";
    }
 // --------------------------------------- 华丽分割线 ------------------------------
    
    
}

购物车管理控制器


@Controller
@RequestMapping("/car")
public class CarController extends BaseController {
    @Autowired
    private ItemService itemService;
    @Autowired
    private AddressService addressService;
    /**
     * 依赖注入 start dao/service/===
     */
    @Autowired
    private CarService carService;
    
    // --------------------------------------- 华丽分割线 ------------------------------
    
    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAll")
    public String listAll(Car car, Model model, HttpServletRequest request, HttpServletResponse response){
        List<Car> listAll = carService.listAll();
        model.addAttribute("list", listAll);
        return "car/car";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntity")
    public String listByEntity(Car car, Model model, HttpServletRequest request, HttpServletResponse response){
        List<Car> listAll = carService.listAllByEntity(car);
        model.addAttribute("list", listAll);
        return "car/car";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMap")
    public String listByMap(Car car, Model model, HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(car.getItemId())){
                params.put("itemId", car.getItemId());
            }
            if(!isEmpty(car.getUserId())){
                params.put("userId", car.getUserId());
            }
            if(!isEmpty(car.getNum())){
                params.put("num", car.getNum());
            }
            if(!isEmpty(car.getTotal())){
                params.put("total", car.getTotal());
            }
        List<Car> listAll = carService.listByMap(params);
        model.addAttribute("list", listAll);
        return "car/car";
    }
    
    
    /*********************************查询列表【分页】***********************************************/
    
    
    
    /**
     * 分页查询 返回list对象(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObj")
    public String findByObj(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<Car> pagers = carService.findByEntity(car);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", car);
        return "car/car";
    }
    
    /**
     * 分页查询 返回list对象(通过对By Sql)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findBySql")
    public String findBySql(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        Object attribute = request.getSession().getAttribute("userId");
        if (attribute == null){
            return "redirect:/login/uLogin";
        }
        JSONObject js = new JSONObject();
        Integer userId = Integer.valueOf(attribute.toString());
        //分页查询
        String sql = "SELECT * FROM car WHERE 1=1 and user_id = "+userId;
        if(!isEmpty(car.getItemId())){
            sql += " and itemId like '%"+car.getItemId()+"%'";
        }
        if(!isEmpty(car.getUserId())){
            sql += " and userId like '%"+car.getUserId()+"%'";
        }
        if(!isEmpty(car.getNum())){
            sql += " and num like '%"+car.getNum()+"%'";
        }
        if(!isEmpty(car.getTotal())){
            sql += " and total like '%"+car.getTotal()+"%'";
        }
       sql += " ORDER BY ID DESC ";
        List<Car> listBySqlReturnEntity = carService.listBySqlReturnEntity(sql);
        model.addAttribute("list", listBySqlReturnEntity);
        //存储查询条件
        model.addAttribute("obj", car);
        return "car/car";
    }
    
    
    /**
     * 分页查询 返回list对象(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMap")
    public String findByMap(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(car.getItemId())){
            params.put("itemId", car.getItemId());
        }
        if(!isEmpty(car.getUserId())){
            params.put("userId", car.getUserId());
        }
        if(!isEmpty(car.getNum())){
            params.put("num", car.getNum());
        }
        if(!isEmpty(car.getTotal())){
            params.put("total", car.getTotal());
        }
        //分页查询
        Pager<Car> pagers = carService.findByMap(params);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", car);
        return "car/car";
    }
    
    /**********************************【增删改】******************************************************/
    
    /**
     * 跳至添加页面
     * @return
     */
    @RequestMapping(value = "/add")
    public String add() {
        return "car/add";
    }

    /**
     * 跳至详情页面
     * @return
     */
    @RequestMapping(value = "/view")
    public String view(Model model,HttpServletRequest request,String code) {
        Object attribute = request.getSession().getAttribute("userId");
        if (attribute == null){
            return "redirect:/login/uLogin";
        }
        Integer userId = Integer.valueOf(attribute.toString());
        
        model.addAttribute("code", code);
        return "car/view";
    }
    
    /**
     * 添加执行
     * @return
     */
    @RequestMapping(value = "/exAdd")
    @ResponseBody
    public String exAdd(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        Object attribute = request.getSession().getAttribute("userId");
        JSONObject js = new JSONObject();
        if (attribute == null){
            js.put("res", 0);
            return js.toJSONString();
        }
        Integer userId = Integer.valueOf(attribute.toString());
        car.setUserId(userId);
        Item load = itemService.load(car.getItemId());
        String price = load.getPrice();
        Double valueOf = Double.valueOf(price);
        car.setPrice(valueOf);
        if (load.getZk() != null){
            valueOf = (valueOf*load.getZk())/10;
             BigDecimal bg = new BigDecimal(valueOf).setScale(2, RoundingMode.UP);
            car.setPrice(bg.doubleValue());
            valueOf= bg.doubleValue();
        }
        Integer num = car.getNum();
        Double t = valueOf*num;
        
         BigDecimal bg = new BigDecimal(t).setScale(2, RoundingMode.UP);
         double doubleValue = bg.doubleValue();
        car.setTotal(doubleValue+"");
        carService.insert(car);
        js.put("res", 1);
        return js.toJSONString();
    }
    
    
    /**
     * 跳至修改页面
     * @return
     */
    @RequestMapping(value = "/update")
    public String update(Integer id,Model model) {
        Car obj = carService.load(id);
        model.addAttribute("obj",obj);
        return "car/update";
    }
    
    
    @RequestMapping(value = "/js")
    @ResponseBody
    public String js(@RequestBody List<CarDto> list,Model model,HttpServletRequest request) {
        
        
        Object attribute = request.getSession().getAttribute("userId");
        JSONObject js = new JSONObject();
        if (attribute == null){
            js.put("res", 0);
            return js.toJSONString();
        }
        
        
        
        Integer userId = Integer.valueOf(attribute.toString());
        String key = "car_"+userId;
        request.getSession().setAttribute(key, list);
        js.put("res", 1);
        return js.toJSONString();
    }
    
    
    
    @RequestMapping(value = "/js2")
    @ResponseBody
    public String js2(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        Object attribute = request.getSession().getAttribute("userId");
        JSONObject js = new JSONObject();
        if (attribute == null){
            js.put("res", 0);
            return js.toJSONString();
        }
        Integer userId = Integer.valueOf(attribute.toString());
        car.setUserId(userId);
        Item load = itemService.load(car.getItemId());
        String price = load.getPrice();
        Long valueOf = Long.valueOf(price);
        Integer num = car.getNum();
        Long t = valueOf*num;
        car.setTotal(t.toString());
        carService.insert(car);
        String key = "car_"+userId;
        List<CarDto> list = new ArrayList<CarDto>();
        CarDto d = new CarDto();
        d.setId(car.getId());
        d.setNum(car.getNum());
        list.add(d);
        request.getSession().setAttribute(key, list);
        js.put("res", 1);
        return js.toJSONString();
    }
    
    /**
     * 添加修改
     * @return
     */
    @RequestMapping(value = "/exUpdate")
    public String exUpdate(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        carService.updateById(car);
        //2.通过主键id修改
        //carService.updateById(car);
        return "redirect:/car/findBySql.action";
    }
    
    /**
     * 删除通过主键
     * @return
     */
    @RequestMapping(value = "/delete")
    @ResponseBody
    public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        carService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        carService.deleteByEntity(car);
//        //3.通过参数删除
//     //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(car.getItemId())){
//            params.put("itemId", car.getItemId());
//        }
//       
//        if(!isEmpty(car.getUserId())){
//            params.put("userId", car.getUserId());
//        }
//       
//        if(!isEmpty(car.getNum())){
//            params.put("num", car.getNum());
//        }
//       
//        if(!isEmpty(car.getTotal())){
//            params.put("total", car.getTotal());
//        }
//       
//        carService.deleteByMap(params);
//        //4.状态删除
//        Car load = carService.getById(car.getId())
//        load.setIsDelete(1);
//        carService.update(load);
        //5.状态删除
        //Car load = carService.load(id);
        //load.setIsDelete(1);
        //carService.update(load);
        return "redirect:/car/findBySql.action";
    }
    
    // --------------------------------------- 华丽分割线 ------------------------------
    // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------

    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAllJson", method = RequestMethod.POST)
    @ResponseBody
    public String listAllJson(Car car, HttpServletRequest request, HttpServletResponse response){
        List<Car> listAll = carService.listAll();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", car);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByEntityJson(Car car,  HttpServletRequest request, HttpServletResponse response){
        List<Car> listAll = carService.listAllByEntity(car);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", car);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByMapJson(Car car,HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(car.getItemId())){
                params.put("itemId", car.getItemId());
            }
            if(!isEmpty(car.getUserId())){
                params.put("userId", car.getUserId());
            }
            if(!isEmpty(car.getNum())){
                params.put("num", car.getNum());
            }
            if(!isEmpty(car.getTotal())){
                params.put("total", car.getTotal());
            }
        List<Car> listAll = carService.listByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", car);
        return jsonObject.toString();
    }
    
    
    /**
     * 分页查询 返回list json(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST)
    @ResponseBody
    public String findByObjByEntityJson(Car car, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<Car> pagers = carService.findByEntity(car);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", car);
        return jsonObject.toString();
    }
    
      
    /**
     * 分页查询 返回list json(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMapJson",  method = RequestMethod.POST)
    @ResponseBody
    public String findByMapJson(Car car,HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(car.getItemId())){
            params.put("itemId", car.getItemId());
        }
        if(!isEmpty(car.getUserId())){
            params.put("userId", car.getUserId());
        }
        if(!isEmpty(car.getNum())){
            params.put("num", car.getNum());
        }
        if(!isEmpty(car.getTotal())){
            params.put("total", car.getTotal());
        }
        //分页查询
        Pager<Car> pagers = carService.findByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", car);
        return jsonObject.toString();
    }
    
    
    /**
     * ajax 添加
     * @param 
     * @return
     */
    @RequestMapping(value = "/exAddJson", method = RequestMethod.POST)
    @ResponseBody
    public String exAddJson(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        carService.insert(car);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "添加成功");
        return jsonObject.toString();
    }
    

    /**
     * ajax 修改
     * @param 
     * @return
     */
    @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST)
    @ResponseBody
    public String exUpdateJson(Car car, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        carService.updateById(car);
        //2.通过主键id修改
        //carService.updateById(car);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "修改成功");
        return jsonObject.toString();
    }

    /**
     * ajax 删除
     * @return
     */
    @RequestMapping(value = "/delete.json", method = RequestMethod.POST)
    @ResponseBody
    public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        carService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        carService.deleteByEntity(car);
//        //3.通过参数删除
//        //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(car.getItemId())){
//            params.put("itemId", car.getItemId());
//        }
//       
//        if(!isEmpty(car.getUserId())){
//            params.put("userId", car.getUserId());
//        }
//       
//        if(!isEmpty(car.getNum())){
//            params.put("num", car.getNum());
//        }
//       
//        if(!isEmpty(car.getTotal())){
//            params.put("total", car.getTotal());
//        }
//       
//        carService.deleteByMap(params);
//        //4.状态删除
//        Car load = carService.getById(car.getId())
//        load.setIsDelete(1);
//        carService.updateById(load);
        //5.状态删除
        //Car load = carService.load(id);
        //load.setIsDelete(1);
        //carService.updateById(load);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "删除成功");
        return jsonObject.toString();
    }
    /**
     * 单文件上传
     * @param file
     * @param request
     * @param model
     * @return
     */
    @RequestMapping(value = "/saveFile")  
    public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {  
  
        System.out.println("开始");  
        String path = request.getSession().getServletContext().getRealPath("/upload");  
        String fileName = file.getOriginalFilename();  
        System.out.println(path);  
        File targetFile = new File(path, fileName);  
        if(!targetFile.exists()){  
            targetFile.mkdirs();  
        }  
        //保存  
        try {  
            file.transferTo(targetFile);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
  
        return "";  
    }  
    
    
    /**
     * springMvc多文件上传
     * @param files
     * @param id
     * @return
     */
    @RequestMapping(value = "/saveFiles")
    public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
        for(int i = 0;i<files.length;i++){
              System.out.println("fileName---------->" + files[i].getOriginalFilename());
          if(!files[i].isEmpty()){
            int pre = (int) System.currentTimeMillis();
             try {
            //拿到输出流,同时重命名上传的文件
             String filePath = request.getRealPath("/upload");
             File f=new File(filePath);
             if(!f.exists()){
                f.mkdirs();
             }
             String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
             File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
              if(!file.exists()){
                  file.createNewFile();
             }
              files[i].transferTo(file);
             } catch (Exception e) {
                e.printStackTrace();
                System.out.println("上传出错");
             }
          }
        }
      return "";
    }
 // --------------------------------------- 华丽分割线 ------------------------------
    
    
}

菜单管理控制器


@Controller
@RequestMapping("/item")
public class ItemController extends BaseController {
    @Autowired
    private ScService scService;
    
    /**
     * 依赖注入 start dao/service/===
     */
    @Autowired
    private ItemService itemService;
    
    @Autowired
    private ItemCategoryService itemCategoryService;
    
    
    // --------------------------------------- 华丽分割线 ------------------------------
    
    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAll")
    public String listAll(Item item, Model model, HttpServletRequest request, HttpServletResponse response){
        List<Item> listAll = itemService.listAll();
        model.addAttribute("list", listAll);
        return "item/item";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntity")
    public String listByEntity(Item item, Model model, HttpServletRequest request, HttpServletResponse response){
        List<Item> listAll = itemService.listAllByEntity(item);
        model.addAttribute("list", listAll);
        return "item/item";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMap")
    public String listByMap(Item item, Model model, HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(item.getName())){
                params.put("name", item.getName());
            }
            if(!isEmpty(item.getPrice())){
                params.put("price", item.getPrice());
            }
            if(!isEmpty(item.getScNum())){
                params.put("scNum", item.getScNum());
            }
            if(!isEmpty(item.getGmNum())){
                params.put("gmNum", item.getGmNum());
            }
            if(!isEmpty(item.getUrl1())){
                params.put("url1", item.getUrl1());
            }
            if(!isEmpty(item.getUrl2())){
                params.put("url2", item.getUrl2());
            }
            if(!isEmpty(item.getUrl3())){
                params.put("url3", item.getUrl3());
            }
            if(!isEmpty(item.getUrl4())){
                params.put("url4", item.getUrl4());
            }
            if(!isEmpty(item.getUrl5())){
                params.put("url5", item.getUrl5());
            }
            if(!isEmpty(item.getMs())){
                params.put("ms", item.getMs());
            }
            if(!isEmpty(item.getPam1())){
                params.put("pam1", item.getPam1());
            }
            if(!isEmpty(item.getPam2())){
                params.put("pam2", item.getPam2());
            }
            if(!isEmpty(item.getPam3())){
                params.put("pam3", item.getPam3());
            }
            if(!isEmpty(item.getType())){
                params.put("type", item.getType());
            }
            if(!isEmpty(item.getIsDelete())){
                params.put("isDelete", item.getIsDelete());
            }
        List<Item> listAll = itemService.listByMap(params);
        model.addAttribute("list", listAll);
        return "item/item";
    }
    
    
    /*********************************查询列表【分页】***********************************************/
    
    
    
    /**
     * 分页查询 返回list对象(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObj")
    public String findByObj(Item item, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<Item> pagers = itemService.findByEntity(item);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", item);
        return "item/item";
    }
    
    /**
     * 分页查询 返回list对象(通过对By Sql)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findBySql")
    public String findBySql(Item item, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        String sql = "SELECT * FROM item WHERE 1=1 and isDelete =0  ";
        if(!isEmpty(item.getName())){
            sql += " and name like '%"+item.getName()+"%'";
        }
        if(!isEmpty(item.getPrice())){
            sql += " and price like '%"+item.getPrice()+"%'";
        }
        if(!isEmpty(item.getScNum())){
            sql += " and scNum like '%"+item.getScNum()+"%'";
        }
        if(!isEmpty(item.getGmNum())){
            sql += " and gmNum like '%"+item.getGmNum()+"%'";
        }
        if(!isEmpty(item.getUrl1())){
            sql += " and url1 like '%"+item.getUrl1()+"%'";
        }
        if(!isEmpty(item.getUrl2())){
            sql += " and url2 like '%"+item.getUrl2()+"%'";
        }
        if(!isEmpty(item.getUrl3())){
            sql += " and url3 like '%"+item.getUrl3()+"%'";
        }
        if(!isEmpty(item.getUrl4())){
            sql += " and url4 like '%"+item.getUrl4()+"%'";
        }
        if(!isEmpty(item.getUrl5())){
            sql += " and url5 like '%"+item.getUrl5()+"%'";
        }
        if(!isEmpty(item.getMs())){
            sql += " and ms like '%"+item.getMs()+"%'";
        }
        if(!isEmpty(item.getPam1())){
            sql += " and pam1 like '%"+item.getPam1()+"%'";
        }
        if(!isEmpty(item.getPam2())){
            sql += " and pam2 like '%"+item.getPam2()+"%'";
        }
        if(!isEmpty(item.getPam3())){
            sql += " and pam3 like '%"+item.getPam3()+"%'";
        }
        if(!isEmpty(item.getType())){
            sql += " and type like '%"+item.getType()+"%'";
        }
        if(!isEmpty(item.getIsDelete())){
            sql += " and isDelete like '%"+item.getIsDelete()+"%'";
        }
       sql += " ORDER BY ID DESC ";
        Pager<Item> pagers = itemService.findBySqlRerturnEntity(sql);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", item);
        return "item/item";
    }
    
    
    /**
     * 用户端查询列表
     * @param item
     * @param model
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/shoplist")
    public String shoplist(Item item,String condition, Model model, HttpServletRequest request, HttpServletResponse response) {
        
        //当二级分类为空,并且condition 为空的时候,不做查询
        /*if (StringUtils.isEmpty(condition) && item.getCategoryIdTwo() == null){
            return "redirect:/login/uIndex.action";
        }*/
        
        //直接点击类型过来的
         //直接冲数据库查询
            String sql = "SELECT * FROM item WHERE 1=1 and isDelete =0 " ;
              if(!isEmpty(item.getCategoryIdTwo())){
                    sql += " and category_id_two= "+item.getCategoryIdTwo();
                }
            
              if(!isEmpty(condition)){
                    sql += " and name like '%"+condition+"%'";
                }
            if (!StringUtils.isEmpty(item.getPrice())){
                sql += " ORDER BY (price+0) DESC";
            }
            if (item.getGmNum() != null){
                sql += " ORDER BY gmNum DESC";
            }
            
            if (StringUtils.isEmpty(item.getPrice()) && item.getGmNum() == null){
                sql += " ORDER BY id DESC";
            }
            Pager<Item> pagers = itemService.findBySqlRerturnEntity(sql);
            model.addAttribute("pagers", pagers);
        model.addAttribute("obj", item);
        model.addAttribute("condition", condition);
        return "item/shoplist";
        
    }
    /**
     * 分页查询 返回list对象(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMap")
    public String findByMap(Item item, Model model, HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(item.getName())){
            params.put("name", item.getName());
        }
        if(!isEmpty(item.getPrice())){
            params.put("price", item.getPrice());
        }
        if(!isEmpty(item.getScNum())){
            params.put("scNum", item.getScNum());
        }
        if(!isEmpty(item.getGmNum())){
            params.put("gmNum", item.getGmNum());
        }
        if(!isEmpty(item.getUrl1())){
            params.put("url1", item.getUrl1());
        }
        if(!isEmpty(item.getUrl2())){
            params.put("url2", item.getUrl2());
        }
        if(!isEmpty(item.getUrl3())){
            params.put("url3", item.getUrl3());
        }
        if(!isEmpty(item.getUrl4())){
            params.put("url4", item.getUrl4());
        }
        if(!isEmpty(item.getUrl5())){
            params.put("url5", item.getUrl5());
        }
        if(!isEmpty(item.getMs())){
            params.put("ms", item.getMs());
        }
        if(!isEmpty(item.getPam1())){
            params.put("pam1", item.getPam1());
        }
        if(!isEmpty(item.getPam2())){
            params.put("pam2", item.getPam2());
        }
        if(!isEmpty(item.getPam3())){
            params.put("pam3", item.getPam3());
        }
        if(!isEmpty(item.getType())){
            params.put("type", item.getType());
        }
        if(!isEmpty(item.getIsDelete())){
            params.put("isDelete", item.getIsDelete());
        }
        //分页查询
        Pager<Item> pagers = itemService.findByMap(params);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", item);
        return "item/item";
    }
    
    /**********************************【增删改】******************************************************/
    
    /**
     * 跳至添加页面
     * @return
     */
    @RequestMapping(value = "/add")
    public String add(Model model) {
        String sql = "SELECT * FROM item_category WHERE isDelete = 0 and pid is not null";
        List<ItemCategory> listBySqlReturnEntity = itemCategoryService.listBySqlReturnEntity(sql);
        model.addAttribute("types",listBySqlReturnEntity);
        return "item/add";
    }

    /**
     * 跳至详情页面
     * @return
     */
    @RequestMapping(value = "/view")
    public String view(Integer id,Model model) {
        Item obj = itemService.load(id);
        model.addAttribute("obj",obj);
        //查询是否收藏
        return "item/view";
    }
    
    /**
     * 添加执行
     * @return
     */
    @RequestMapping(value = "/exAdd")
    public String exAdd(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request, Model model) throws IllegalStateException, IOException {  
        
        
        if (files.length > 0){
             // 0 1 2 3 4
            for (int s = 0;s < files.length;s++){
                 System.out.println("开始");  
                  long  startTime=System.currentTimeMillis();
                  System.out.println("fileName:"+files[s].getOriginalFilename());
                  String n = UUIDUtils.create();
                  String path="D:/my/upload/"+n+files[s].getOriginalFilename();
                  System.out.println("===================================================");
                   System.out.println(path);
                  File newFile=new File(path);
                  //通过CommonsMultipartFile的方法直接写文件(注意这个时候)
                  files[s].transferTo(newFile);
                  long  endTime=System.currentTimeMillis();
                  System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");
                 System.out.println("*********************************************************");
                 System.out.println("*********************************************************");
                 
                 if (s == 0){
                     item.setUrl1("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 1){
                     item.setUrl2("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 2){
                     item.setUrl3("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 3){
                     item.setUrl4("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 4){
                     item.setUrl5("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                }
            }
             
        item.setGmNum(0);
        item.setIsDelete(0);
        item.setScNum(0);
        ItemCategory byId = itemCategoryService.getById(item.getCategoryIdTwo());
        item.setCategoryIdOne(byId.getPid());
        itemService.insert(item);
        return "redirect:/item/findBySql.action";
    }
    /**
     * 跳至修改页面
     * @return
     */
    @RequestMapping(value = "/update")
    public String update(Integer id,Model model) {
        Item obj = itemService.load(id);
        String sql = "SELECT * FROM item_category WHERE isDelete = 0 and pid is not null";
        List<ItemCategory> listBySqlReturnEntity = itemCategoryService.listBySqlReturnEntity(sql);
        model.addAttribute("types",listBySqlReturnEntity);
        model.addAttribute("obj",obj);
        return "item/update";
    }
    
    /**
     * 添加修改
     * @return
     * @throws IOException 
     * @throws IllegalStateException 
     */
    @RequestMapping(value = "/exUpdate")
    public String exUpdate(Item item, Model model, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request, HttpServletResponse response) throws IllegalStateException, IOException {
        //1.通过实体类修改,可以多传修改条件
        ItemCategory byId = itemCategoryService.getById(item.getCategoryIdTwo());
        item.setCategoryIdOne(byId.getPid());
        
        if (files.length > 0){
             // 0 1 2 3 4
            for (int s = 0;s < files.length;s++){
                 System.out.println("开始");  
                  long  startTime=System.currentTimeMillis();
                  System.out.println("fileName:"+files[s].getOriginalFilename());
                  String n = UUIDUtils.create();
                  String path="D:/my/upload/"+n+files[s].getOriginalFilename();
                  System.out.println("===================================================");
                   System.out.println(path);
                  File newFile=new File(path);
                  //通过CommonsMultipartFile的方法直接写文件(注意这个时候)
                  files[s].transferTo(newFile);
                  long  endTime=System.currentTimeMillis();
                  System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");
                 System.out.println("*********************************************************");
                 System.out.println("*********************************************************");
                 
                 if (s == 0){
                     item.setUrl1("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 1){
                     item.setUrl2("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 2){
                     item.setUrl3("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 3){
                     item.setUrl4("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                 if (s == 4){
                     item.setUrl5("\\upload\\"+n+files[s].getOriginalFilename());
                 }
                }
            }
        
        
        itemService.updateById(item);
        
        Item byId2 = itemService.getById(item.getId());
        //2.通过主键id修改
        //itemService.updateById(item);
        
        return "redirect:/item/findBySql.action";
    }
    
    /**
     * 删除通过主键
     * @return
     */
    @RequestMapping(value = "/delete")
    public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        //itemService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        itemService.deleteByEntity(item);
//        //3.通过参数删除
//     //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(item.getName())){
//            params.put("name", item.getName());
//        }
//       
//        if(!isEmpty(item.getPrice())){
//            params.put("price", item.getPrice());
//        }
//       
//        if(!isEmpty(item.getScNum())){
//            params.put("scNum", item.getScNum());
//        }
//       
//        if(!isEmpty(item.getGmNum())){
//            params.put("gmNum", item.getGmNum());
//        }
//       
//        if(!isEmpty(item.getUrl1())){
//            params.put("url1", item.getUrl1());
//        }
//       
//        if(!isEmpty(item.getUrl2())){
//            params.put("url2", item.getUrl2());
//        }
//       
//        if(!isEmpty(item.getUrl3())){
//            params.put("url3", item.getUrl3());
//        }
//       
//        if(!isEmpty(item.getUrl4())){
//            params.put("url4", item.getUrl4());
//        }
//       
//        if(!isEmpty(item.getUrl5())){
//            params.put("url5", item.getUrl5());
//        }
//       
//        if(!isEmpty(item.getMs())){
//            params.put("ms", item.getMs());
//        }
//       
//        if(!isEmpty(item.getPam1())){
//            params.put("pam1", item.getPam1());
//        }
//       
//        if(!isEmpty(item.getPam2())){
//            params.put("pam2", item.getPam2());
//        }
//       
//        if(!isEmpty(item.getPam3())){
//            params.put("pam3", item.getPam3());
//        }
//       
//        if(!isEmpty(item.getType())){
//            params.put("type", item.getType());
//        }
//       
//        if(!isEmpty(item.getIsDelete())){
//            params.put("isDelete", item.getIsDelete());
//        }
//       
//        itemService.deleteByMap(params);
//        //4.状态删除
//        Item load = itemService.getById(item.getId())
//        load.setIsDelete(1);
//        itemService.update(load);
        //5.状态删除
        Item load = itemService.load(id);
        load.setIsDelete(1);
        itemService.updateById(load);
        
        return "redirect:/item/findBySql.action";
    }
    
    // --------------------------------------- 华丽分割线 ------------------------------
    // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------

    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAllJson", method = RequestMethod.POST)
    @ResponseBody
    public String listAllJson(Item item, HttpServletRequest request, HttpServletResponse response){
        List<Item> listAll = itemService.listAll();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", item);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByEntityJson(Item item,  HttpServletRequest request, HttpServletResponse response){
        List<Item> listAll = itemService.listAllByEntity(item);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", item);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByMapJson(Item item,HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(item.getName())){
                params.put("name", item.getName());
            }
            if(!isEmpty(item.getPrice())){
                params.put("price", item.getPrice());
            }
            if(!isEmpty(item.getScNum())){
                params.put("scNum", item.getScNum());
            }
            if(!isEmpty(item.getGmNum())){
                params.put("gmNum", item.getGmNum());
            }
            if(!isEmpty(item.getUrl1())){
                params.put("url1", item.getUrl1());
            }
            if(!isEmpty(item.getUrl2())){
                params.put("url2", item.getUrl2());
            }
            if(!isEmpty(item.getUrl3())){
                params.put("url3", item.getUrl3());
            }
            if(!isEmpty(item.getUrl4())){
                params.put("url4", item.getUrl4());
            }
            if(!isEmpty(item.getUrl5())){
                params.put("url5", item.getUrl5());
            }
            if(!isEmpty(item.getMs())){
                params.put("ms", item.getMs());
            }
            if(!isEmpty(item.getPam1())){
                params.put("pam1", item.getPam1());
            }
            if(!isEmpty(item.getPam2())){
                params.put("pam2", item.getPam2());
            }
            if(!isEmpty(item.getPam3())){
                params.put("pam3", item.getPam3());
            }
            if(!isEmpty(item.getType())){
                params.put("type", item.getType());
            }
            if(!isEmpty(item.getIsDelete())){
                params.put("isDelete", item.getIsDelete());
            }
        List<Item> listAll = itemService.listByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", item);
        return jsonObject.toString();
    }
    
    
    /**
     * 分页查询 返回list json(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST)
    @ResponseBody
    public String findByObjByEntityJson(Item item, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<Item> pagers = itemService.findByEntity(item);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", item);
        return jsonObject.toString();
    }
    
      
    /**
     * 分页查询 返回list json(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMapJson",  method = RequestMethod.POST)
    @ResponseBody
    public String findByMapJson(Item item,HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(item.getName())){
            params.put("name", item.getName());
        }
        if(!isEmpty(item.getPrice())){
            params.put("price", item.getPrice());
        }
        if(!isEmpty(item.getScNum())){
            params.put("scNum", item.getScNum());
        }
        if(!isEmpty(item.getGmNum())){
            params.put("gmNum", item.getGmNum());
        }
        if(!isEmpty(item.getUrl1())){
            params.put("url1", item.getUrl1());
        }
        if(!isEmpty(item.getUrl2())){
            params.put("url2", item.getUrl2());
        }
        if(!isEmpty(item.getUrl3())){
            params.put("url3", item.getUrl3());
        }
        if(!isEmpty(item.getUrl4())){
            params.put("url4", item.getUrl4());
        }
        if(!isEmpty(item.getUrl5())){
            params.put("url5", item.getUrl5());
        }
        if(!isEmpty(item.getMs())){
            params.put("ms", item.getMs());
        }
        if(!isEmpty(item.getPam1())){
            params.put("pam1", item.getPam1());
        }
        if(!isEmpty(item.getPam2())){
            params.put("pam2", item.getPam2());
        }
        if(!isEmpty(item.getPam3())){
            params.put("pam3", item.getPam3());
        }
        if(!isEmpty(item.getType())){
            params.put("type", item.getType());
        }
        if(!isEmpty(item.getIsDelete())){
            params.put("isDelete", item.getIsDelete());
        }
        //分页查询
        Pager<Item> pagers = itemService.findByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", item);
        return jsonObject.toString();
    }
    
    
    /**
     * ajax 添加
     * @param 
     * @return
     */
    @RequestMapping(value = "/exAddJson", method = RequestMethod.POST)
    @ResponseBody
    public String exAddJson(Item item, Model model, HttpServletRequest request, HttpServletResponse response) {
        itemService.insert(item);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "添加成功");
        return jsonObject.toString();
    }
    

    /**
     * ajax 修改
     * @param 
     * @return
     */
    @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST)
    @ResponseBody
    public String exUpdateJson(Item item, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        itemService.updateById(item);
        //2.通过主键id修改
        //itemService.updateById(item);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "修改成功");
        return jsonObject.toString();
    }

    /**
     * ajax 删除
     * @return
     */
    @RequestMapping(value = "/delete.json", method = RequestMethod.POST)
    @ResponseBody
    public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        itemService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        itemService.deleteByEntity(item);
//        //3.通过参数删除
//        //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(item.getName())){
//            params.put("name", item.getName());
//        }
//       
//        if(!isEmpty(item.getPrice())){
//            params.put("price", item.getPrice());
//        }
//       
//        if(!isEmpty(item.getScNum())){
//            params.put("scNum", item.getScNum());
//        }
//       
//        if(!isEmpty(item.getGmNum())){
//            params.put("gmNum", item.getGmNum());
//        }
//       
//        if(!isEmpty(item.getUrl1())){
//            params.put("url1", item.getUrl1());
//        }
//       
//        if(!isEmpty(item.getUrl2())){
//            params.put("url2", item.getUrl2());
//        }
//       
//        if(!isEmpty(item.getUrl3())){
//            params.put("url3", item.getUrl3());
//        }
//       
//        if(!isEmpty(item.getUrl4())){
//            params.put("url4", item.getUrl4());
//        }
//       
//        if(!isEmpty(item.getUrl5())){
//            params.put("url5", item.getUrl5());
//        }
//       
//        if(!isEmpty(item.getMs())){
//            params.put("ms", item.getMs());
//        }
//       
//        if(!isEmpty(item.getPam1())){
//            params.put("pam1", item.getPam1());
//        }
//       
//        if(!isEmpty(item.getPam2())){
//            params.put("pam2", item.getPam2());
//        }
//       
//        if(!isEmpty(item.getPam3())){
//            params.put("pam3", item.getPam3());
//        }
//       
//        if(!isEmpty(item.getType())){
//            params.put("type", item.getType());
//        }
//       
//        if(!isEmpty(item.getIsDelete())){
//            params.put("isDelete", item.getIsDelete());
//        }
//       
//        itemService.deleteByMap(params);
//        //4.状态删除
//        Item load = itemService.getById(item.getId())
//        load.setIsDelete(1);
//        itemService.updateById(load);
        //5.状态删除
        //Item load = itemService.load(id);
        //load.setIsDelete(1);
        //itemService.updateById(load);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "删除成功");
        return jsonObject.toString();
    }
    /**
     * 单文件上传
     * @param file
     * @param request
     * @param model
     * @return
     */
    @RequestMapping(value = "/saveFile")  
    public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {  
  
        System.out.println("开始");  
        String path = request.getSession().getServletContext().getRealPath("/upload");  
        String fileName = file.getOriginalFilename();  
        System.out.println(path);  
        File targetFile = new File(path, fileName);  
        if(!targetFile.exists()){  
            targetFile.mkdirs();  
        }  
        //保存  
        try {  
            file.transferTo(targetFile);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
  
        return "";  
    }  
    
    
    /**
     * springMvc多文件上传
     * @param files
     * @param id
     * @return
     */
    @RequestMapping(value = "/saveFiles")
    public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
        for(int i = 0;i<files.length;i++){
              System.out.println("fileName---------->" + files[i].getOriginalFilename());
          if(!files[i].isEmpty()){
            int pre = (int) System.currentTimeMillis();
             try {
            //拿到输出流,同时重命名上传的文件
             String filePath = request.getRealPath("/upload");
             File f=new File(filePath);
             if(!f.exists()){
                f.mkdirs();
             }
             String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
             File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
              if(!file.exists()){
                  file.createNewFile();
             }
              files[i].transferTo(file);
             } catch (Exception e) {
                e.printStackTrace();
                System.out.println("上传出错");
             }
          }
        }
      return "";
    }
 // --------------------------------------- 华丽分割线 ------------------------------
    
    
}

如果也想学习本系统,下面领取。关注并回复:261ssm

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜未央5788

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

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

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

打赏作者

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

抵扣说明:

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

余额充值