计算机毕业设计 基于协同过滤算法的白酒销售系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》

目录

1.技术选型

2.数据库表结构

3.开发工具

4.功能

4.1【角色】

4.2【前台功能模块】

4.3【后台功能模块】

5.项目演示截图

5.1 首页

5.2 热卖酒水

5.3 登录

5.4 注册

5.5 个人中心

5.6 香型管理

5.7 热卖酒水管理

5.8 系统管理

5.9 在线客服

5.10  订单管理

6.数据库文件设计

7.核心代码 

7.1 热卖酒水Controller

7.2 热卖酒水Service

7.3 热卖酒水ServiceImpl

7.4 热卖酒水DAO

8.参考文档


1.技术选型

springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8

2.数据库表结构

13张 

3.开发工具

idea、navicat

4.功能

4.1【角色】

管理员、用户

4.2【前台功能模块】

  • 登录注册
  • 首页
  • 热卖酒水
  • 优惠资讯
  • 在线客服
  • 购物车
  • 个人中心
  • 后台管理

4.3【后台功能模块】

  • 登录
  • 首页
  • 个人中心
  • 用户管理
  • 香型管理
  • 热卖酒水管理
  • 系统管理
  • 订单管理

5.项目演示截图

5.1 首页

5.2 热卖酒水

 

5.3 登录

 

5.4 注册

 

5.5 个人中心

 

5.6 香型管理

 

5.7 热卖酒水管理

 

5.8 系统管理

 

5.9 在线客服

 

5.10  订单管理

6.数据库文件设计


CREATE TABLE `address` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`userid` bigint(20) NOT NULL COMMENT '用户id',`address` varchar(200) NOT NULL COMMENT '地址',`name` varchar(200) NOT NULL COMMENT '收货人',`phone` varchar(200) NOT NULL COMMENT '电话',`isdefault` varchar(200) NOT NULL COMMENT '是否默认地址[是/否]',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='地址';CREATE TABLE `cart` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`tablename` varchar(200) DEFAULT 'remaijiushui' COMMENT '商品表名',`userid` bigint(20) NOT NULL COMMENT '用户id',`goodid` bigint(20) NOT NULL COMMENT '商品id',`goodname` varchar(200) DEFAULT NULL COMMENT '商品名称',`picture` longtext COMMENT '图片',`buynumber` int(11) NOT NULL COMMENT '购买数量',`price` float DEFAULT NULL COMMENT '单价',`discountprice` float DEFAULT NULL COMMENT '会员价',`goodtype` varchar(200) DEFAULT NULL COMMENT '商品类型',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='购物车表';CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';CREATE TABLE `discussremaijiushui` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`refid` bigint(20) NOT NULL COMMENT '关联表id',`userid` bigint(20) NOT NULL COMMENT '用户id',`avatarurl` longtext COMMENT '头像',`nickname` varchar(200) DEFAULT NULL COMMENT '用户名',`content` longtext NOT NULL COMMENT '评论内容',`reply` longtext COMMENT '回复内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='热卖酒水评论表';CREATE TABLE `leixing` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`jiushuileixing` varchar(200) DEFAULT NULL COMMENT '酒水类型',PRIMARY KEY (`id`),UNIQUE KEY `jiushuileixing` (`jiushuileixing`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT='类型';CREATE TABLE `news` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`title` varchar(200) NOT NULL COMMENT '标题',`introduction` longtext COMMENT '简介',`picture` longtext NOT NULL COMMENT '图片',`content` longtext NOT NULL COMMENT '内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8 COMMENT='优惠资讯';CREATE TABLE `remaijiushui` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`jiushuimingcheng` varchar(200) DEFAULT NULL COMMENT '酒水名称',`fengmian` longtext COMMENT '封面',`jiushuileixing` varchar(200) DEFAULT NULL COMMENT '酒水类型',`baozhuangxingshi` varchar(200) DEFAULT NULL COMMENT '包装形式',`pinpai` varchar(200) DEFAULT NULL COMMENT '品牌',`dushu` varchar(200) DEFAULT NULL COMMENT '度数',`chuzangfangfa` varchar(200) DEFAULT NULL COMMENT '储藏方法',`shengchannianfen` varchar(200) DEFAULT NULL COMMENT '生产年份',`chandi` varchar(200) DEFAULT NULL COMMENT '产地',`changming` varchar(200) DEFAULT NULL COMMENT '厂名',`shiyongchangjing` varchar(200) DEFAULT NULL COMMENT '适用场景',`shengchanxukezheng` varchar(200) DEFAULT NULL COMMENT '生产许可证',`jiushuixiangqing` longtext COMMENT '酒水详情',`onelimittimes` int(11) DEFAULT NULL COMMENT '单限',`alllimittimes` int(11) DEFAULT NULL COMMENT '库存',`thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',`crazilynum` int(11) DEFAULT '0' COMMENT '踩',`clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',`clicknum` int(11) DEFAULT '0' COMMENT '点击次数',`price` float NOT NULL COMMENT '价格',PRIMARY KEY (`id`),UNIQUE KEY `shengchanxukezheng` (`shengchanxukezheng`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8 COMMENT='热卖酒水';CREATE TABLE `storeup` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`userid` bigint(20) NOT NULL COMMENT '用户id',`refid` bigint(20) DEFAULT NULL COMMENT '商品id',`tablename` varchar(200) DEFAULT NULL COMMENT '表名',`name` varchar(200) NOT NULL COMMENT '名称',`picture` longtext NOT NULL COMMENT '图片',`type` varchar(200) DEFAULT '1' COMMENT '类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)',`inteltype` varchar(200) DEFAULT NULL COMMENT '推荐类型',`remark` varchar(200) DEFAULT NULL COMMENT '备注',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='收藏表';CREATE TABLE `systemintro` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`title` varchar(200) NOT NULL COMMENT '标题',`subtitle` varchar(200) DEFAULT NULL COMMENT '副标题',`content` longtext NOT NULL COMMENT '内容',`picture1` longtext COMMENT '图片1',`picture2` longtext COMMENT '图片2',`picture3` longtext COMMENT '图片3',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='关于我们';CREATE TABLE `token` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` bigint(20) NOT NULL COMMENT '用户id',`username` varchar(100) NOT NULL COMMENT '用户名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='token表';CREATE TABLE `users` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';CREATE TABLE `yonghu` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号',`mima` varchar(200) NOT NULL COMMENT '密码',`yonghuxingming` varchar(200) DEFAULT NULL COMMENT '用户姓名',`touxiang` longtext COMMENT '头像',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',`money` float DEFAULT '0' COMMENT '余额',PRIMARY KEY (`id`),UNIQUE KEY `yonghuzhanghao` (`yonghuzhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='用户';

7.核心代码 

7.1 热卖酒水Controller

package com.controller;/*** 热卖酒水* 后端接口* @author 计算机编程-吉哥*/
@RestController
@RequestMapping("/remaijiushui")
public class RemaijiushuiController {@Autowiredprivate RemaijiushuiService remaijiushuiService;@Autowiredprivate StoreupService storeupService;@Autowiredprivate OrdersService ordersService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,RemaijiushuiEntity remaijiushui,@RequestParam(required = false) Double pricestart,@RequestParam(required = false) Double priceend,HttpServletRequest request){EntityWrapper<RemaijiushuiEntity> ew = new EntityWrapper<RemaijiushuiEntity>();if(pricestart!=null) ew.ge("price", pricestart);if(priceend!=null) ew.le("price", priceend);PageUtils page = remaijiushuiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remaijiushui), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,RemaijiushuiEntity remaijiushui, @RequestParam(required = false) Double pricestart,@RequestParam(required = false) Double priceend,HttpServletRequest request){EntityWrapper<RemaijiushuiEntity> ew = new EntityWrapper<RemaijiushuiEntity>();if(pricestart!=null) ew.ge("price", pricestart);if(priceend!=null) ew.le("price", priceend);PageUtils page = remaijiushuiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remaijiushui), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( RemaijiushuiEntity remaijiushui){EntityWrapper<RemaijiushuiEntity> ew = new EntityWrapper<RemaijiushuiEntity>();ew.allEq(MPUtil.allEQMapPre( remaijiushui, "remaijiushui")); return R.ok().put("data", remaijiushuiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(RemaijiushuiEntity remaijiushui){EntityWrapper< RemaijiushuiEntity> ew = new EntityWrapper< RemaijiushuiEntity>();ew.allEq(MPUtil.allEQMapPre( remaijiushui, "remaijiushui")); RemaijiushuiView remaijiushuiView =  remaijiushuiService.selectView(ew);return R.ok("查询热卖酒水成功").put("data", remaijiushuiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){RemaijiushuiEntity remaijiushui = remaijiushuiService.selectById(id);remaijiushui.setClicknum(remaijiushui.getClicknum()+1);remaijiushui.setClicktime(new Date());remaijiushuiService.updateById(remaijiushui);return R.ok().put("data", remaijiushui);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){RemaijiushuiEntity remaijiushui = remaijiushuiService.selectById(id);remaijiushui.setClicknum(remaijiushui.getClicknum()+1);remaijiushui.setClicktime(new Date());remaijiushuiService.updateById(remaijiushui);return R.ok().put("data", remaijiushui);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R vote(@PathVariable("id") String id,String type){RemaijiushuiEntity remaijiushui = remaijiushuiService.selectById(id);if(type.equals("1")) {remaijiushui.setThumbsupnum(remaijiushui.getThumbsupnum()+1);} else {remaijiushui.setCrazilynum(remaijiushui.getCrazilynum()+1);}remaijiushuiService.updateById(remaijiushui);return R.ok("投票成功");}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody RemaijiushuiEntity remaijiushui, HttpServletRequest request){remaijiushui.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(remaijiushui);remaijiushuiService.insert(remaijiushui);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody RemaijiushuiEntity remaijiushui, HttpServletRequest request){remaijiushui.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(remaijiushui);remaijiushuiService.insert(remaijiushui);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody RemaijiushuiEntity remaijiushui, HttpServletRequest request){//ValidatorUtils.validateEntity(remaijiushui);remaijiushuiService.updateById(remaijiushui);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){remaijiushuiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<RemaijiushuiEntity> wrapper = new EntityWrapper<RemaijiushuiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = remaijiushuiService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,RemaijiushuiEntity remaijiushui, HttpServletRequest request,String pre){EntityWrapper<RemaijiushuiEntity> ew = new EntityWrapper<RemaijiushuiEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicknum");params.put("order", "desc");PageUtils page = remaijiushuiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remaijiushui), params), params));return R.ok().put("data", page);}/*** 协同算法(按用户购买推荐)*/@RequestMapping("/autoSort2")public R autoSort2(@RequestParam Map<String, Object> params,RemaijiushuiEntity remaijiushui, HttpServletRequest request){String userId = request.getSession().getAttribute("userId").toString();String goodtypeColumn = "jiushuileixing";List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>().eq("userid", userId).eq("tablename", "remaijiushui").orderBy("addtime", false));List<String> goodtypes = new ArrayList<String>();Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());List<RemaijiushuiEntity> remaijiushuiList = new ArrayList<RemaijiushuiEntity>();//去重List<OrdersEntity> ordersDist = new ArrayList<OrdersEntity>();for(OrdersEntity o1 : orders) {boolean addFlag = true;for(OrdersEntity o2 : ordersDist) {if(o1.getGoodid()==o2.getGoodid() || o1.getGoodtype().equals(o2.getGoodtype())) {addFlag = false;break;}}if(addFlag) ordersDist.add(o1);}if(ordersDist!=null && ordersDist.size()>0) {for(OrdersEntity o : ordersDist) {remaijiushuiList.addAll(remaijiushuiService.selectList(new EntityWrapper<RemaijiushuiEntity>().eq(goodtypeColumn, o.getGoodtype())));}}EntityWrapper<RemaijiushuiEntity> ew = new EntityWrapper<RemaijiushuiEntity>();params.put("sort", "id");params.put("order", "desc");PageUtils page = remaijiushuiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remaijiushui), params), params));List<RemaijiushuiEntity> pageList = (List<RemaijiushuiEntity>)page.getList();if(remaijiushuiList.size()<limit) {int toAddNum = (limit-remaijiushuiList.size())<=pageList.size()?(limit-remaijiushuiList.size()):pageList.size();for(RemaijiushuiEntity o1 : pageList) {boolean addFlag = true;for(RemaijiushuiEntity o2 : remaijiushuiList) {if(o1.getId().intValue()==o2.getId().intValue()) {addFlag = false;break;}}if(addFlag) {remaijiushuiList.add(o1);if(--toAddNum==0) break;}   }} else if(remaijiushuiList.size()>limit) {remaijiushuiList = remaijiushuiList.subList(0, limit);}page.setList(remaijiushuiList);return R.ok().put("data", page);}}

7.2 热卖酒水Service

package com.service;/*** 热卖酒水** @author 计算机编程-吉哥*/
public interface RemaijiushuiService extends IService<RemaijiushuiEntity> {PageUtils queryPage(Map<String, Object> params);List<RemaijiushuiVO> selectListVO(Wrapper<RemaijiushuiEntity> wrapper);RemaijiushuiVO selectVO(@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);List<RemaijiushuiView> selectListView(Wrapper<RemaijiushuiEntity> wrapper);RemaijiushuiView selectView(@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);PageUtils queryPage(Map<String, Object> params,Wrapper<RemaijiushuiEntity> wrapper);}

7.3 热卖酒水ServiceImpl

package com.service.impl;@Service("remaijiushuiService")
public class RemaijiushuiServiceImpl extends ServiceImpl<RemaijiushuiDao, RemaijiushuiEntity> implements RemaijiushuiService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<RemaijiushuiEntity> page = this.selectPage(new Query<RemaijiushuiEntity>(params).getPage(),new EntityWrapper<RemaijiushuiEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<RemaijiushuiEntity> wrapper) {Page<RemaijiushuiView> page =new Query<RemaijiushuiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<RemaijiushuiVO> selectListVO(Wrapper<RemaijiushuiEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic RemaijiushuiVO selectVO(Wrapper<RemaijiushuiEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<RemaijiushuiView> selectListView(Wrapper<RemaijiushuiEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic RemaijiushuiView selectView(Wrapper<RemaijiushuiEntity> wrapper) {return baseMapper.selectView(wrapper);}}

7.4 热卖酒水DAO

package com.dao;/*** 热卖酒水* * @author 计算机编程-吉哥*/
public interface RemaijiushuiDao extends BaseMapper<RemaijiushuiEntity> {List<RemaijiushuiVO> selectListVO(@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);RemaijiushuiVO selectVO(@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);List<RemaijiushuiView> selectListView(@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);List<RemaijiushuiView> selectListView(Pagination page,@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);RemaijiushuiView selectView(@Param("ew") Wrapper<RemaijiushuiEntity> wrapper);}

8.参考文档

你可能还有感兴趣的项目👇🏻👇🏻👇🏻

更多项目推荐:计算机毕业设计项目

如果大家有任何疑虑,请在下方咨询或评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/106509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Log4j Server (CVE-2017-5645) 反序列化命令执行漏洞

文章目录 Apache Log4j Server 反序列化命令执行漏洞&#xff08;CVE-2017-5645&#xff09;1.1 漏洞描述1.2 漏洞复现1.2.1 环境启动1.2.2 漏洞验证1.2.3 漏洞利用 1.3 加固建议 Apache Log4j Server 反序列化命令执行漏洞&#xff08;CVE-2017-5645&#xff09; 1.1 漏洞描述…

【大数据】Hive SQL语言(学习笔记)

一、DDL数据定义语言 1、建库 1&#xff09;数据库结构 默认的数据库叫做default&#xff0c;存储于HDFS的&#xff1a;/user/hive/warehouse 用户自己创建的数据库存储位置&#xff1a;/user/hive/warehouse/database_name.db 2&#xff09;创建数据库 create (database|…

allegro中shape的一些基本操作(一)——添加和修改shape

添加shape 简单添加shape的方式有3种&#xff0c;如下图所示 点击选择相应的shape模式后可以在option面板中设置相应的shape参数&#xff08;这里不做过多介绍&#xff0c;里面可以设置shape的大小、静态或动态shape等参数&#xff09;&#xff0c;然后再用鼠标在相应的层上添…

计算机网络 | 网络层

计算机网络 | 网络层 计算机网络 | 网络层功能概述SDN&#xff08;Software-Defined Networking&#xff09;路由算法IPv4IPv4 分组IPv4 分组的格式IPv4 数据报分片 IPv4 地址与 NATIPv4 地址网络地址转换&#xff08;NAT&#xff09; 子网划分和子网掩码子网划分子网掩码 无分…

Hadoop3教程(十二):MapReduce中Shuffle机制的概述

文章目录 &#xff08;95&#xff09; Shuffle机制什么是shuffle&#xff1f;Map阶段Reduce阶段 参考文献 &#xff08;95&#xff09; Shuffle机制 面试的重点 什么是shuffle&#xff1f; Map方法之后&#xff0c;Reduce方法之前的这段数据处理过程&#xff0c;就叫做shuff…

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程前言准备工具anaconda/cuda/cudnnanaconda创建环境(选做)安装原…

Opencv——颜色模型+通道分离与合并

视频加载/摄像头调用 VideoCapture允许一开始定义一个空的对象 VideoCapture video VideoCapture(const String &filename,int apiPreferenceCAP_ANY) filename:读取的视频文件或者图像序列名称 apiPreference:读取数据时设置的属性&#xff0c;例如编码格式、是否调用Op…

LabVIEW为什么不能在RT机箱内看到NI-IMAQ设备

LabVIEW为什么不能在RT机箱内看到NI-IMAQ设备 最近把NI-IMAQ更新到最新的1394版本。这个新驱动工作良好。但是&#xff0c;当打开MAX&#xff0c;NII MAQ设备却在RT PXI机箱里找不到。 问题最有可能是NIIMAQ服务器的版本跟主机PC和RT目标设备是不同的。为保证通信正常NII MAQ服…

FFmpeg截图命令优化

由于项目要求&#xff0c;需要对摄像机的rtsp流进行截图。一开始我使用了命令&#xff1a; ./ffmpeg -ss 0 -i XXX -f image2 -vframes 1 -s 370*210 -y output.jpg 上述命令抓取rtsp流第0秒&#xff08;当前&#xff09;的图像&#xff0c;将其保存为370*210分辨率的jpg图片…

08Maven中的继承和聚合的作用

Maven中的继承 实际开发中对一个比较大型的项目进行了模块拆分 , 一个project下面创建了很多个modul, 每一个module都需要配置自己的依赖信息 开发中使用的同一个框架内的不同jar包&#xff0c;它们应该是同一个版本&#xff0c;所以整个项目中使用的框架版本需要统一 传统方…

机器人硬件在环仿真:解决实体开发与测试挑战,提升效率与安全性

工业机器人具备出色的灵活性和运动能力&#xff0c;广泛应用于工业制造领域。它们可以完成装配、焊接、喷涂、搬运、加工、品质检测等任务&#xff0c;提高了生产效率&#xff0c;保证了产品质量。此外&#xff0c;在医疗领域也有辅助手术等特殊应用&#xff0c;展现了其在多个…

Flash-Attention

这是一篇硬核的优化Transformer的工作。众所周知&#xff0c;Transformer模型的计算量和储存复杂度是 O ( N 2 ) O(N^2) O(N2) 。尽管先前有了大量的优化工作&#xff0c;比如LongFormer、Sparse Transformer、Reformer等等&#xff0c;一定程度上减轻了Transformer的资源消耗…

k8s-10 cni 网络

k8s通过CNI接口接入其他网络插件来实现网络通讯。目前比较流行的插件有flannel,calico等。 CNI插件存放位置: # cat /etc/cni/net.d/10-flannel.conflist 插件使用的解决方案如下: 虚拟网桥&#xff0c;虚拟网卡&#xff0c;多个容器共用一个虚拟网卡进行通信。多路复用: Mac…

MAC上设置IDEA如何一个窗口打开多个项目,多个tab

1、IDEA一个窗口打开多个项目 如果你打开了多个项目、每次切换都要半天&#xff0c;想让项目都汇聚到top栏 点击 Window - Merge All Project Windows 即可 但是这样比较挫&#xff0c;每次打开新的项目都还是会重新打开一个IDEA窗口 so&#xff0c;如何设置项目在同一个窗口…

【Eclipse】安装教程

首先打开官网&#xff1a;Eclipse Downloads | The Eclipse Foundation 选择download package 如图所示&#xff0c;到如下界面 1.绿色版免安装版本 按图片点击&#xff0c;即可开始下载 2.安装版本 点击Eclipse Installer 依旧选择其他镜像&#xff0c;开头带China的 等待…

Vue3 + Nodejs 实战 ,文件上传项目--实现拖拽上传

目录 1.拖拽上传的剖析 input的file默认拖动 让其他的盒子成为拖拽对象 2.处理文件的上传 处理数据 上传文件的函数 兼顾点击事件 渲染已处理过的文件 测试效果 3.总结 博客主页&#xff1a;専心_前端,javascript,mysql-CSDN博客 系列专栏&#xff1a;vue3nodejs 实战-…

通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新

通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新 实现这样的效果可以在数据库中设置&#xff0c;但是我们一般建议在代码里实现&#xff0c; 但是总不能每次insert和update的时候都手写new当前时间 因此推荐使用mybatis-plus 1导入依赖 <dependency&g…

Android Framework通信:Handler

文章目录 前言一、Handler源码分析1、创建Handler2、发送消息3、取消息4、消息处理5、线程切换的方法&#xff08;Handler异步消息处理机制流程&#xff09;handler.sendMessage()handler.post()View.post()Activity中的runOnUiThread() 二、Handler高频面试题1、为什么要有Han…

MySQL为什么用b+树

索引是一种数据结构&#xff0c;用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量&#xff0c;数据量大了索引才显得有意义&#xff0c;如果我想要在[1,2,3,4]中找到4这个数据&#xff0c;直接对全数据检索也很快&am…

Spring framework Day15:@lmport注解使用

前言 在编程中&#xff0c;import注解通常用于导入外部的类、接口或其他资源&#xff0c;以便在当前代码文件中使用。它可以提供一种简洁、方便的方式来引入外部依赖&#xff0c;并且有以下几个主要的应用场景和好处&#xff1a; 引入外部类/接口&#xff1a;使用import注解可…