计算机毕业设计 基于协同过滤算法的白酒销售系统的设计与实现 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.rhkb.cn/news/160009.html

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

相关文章

IP 协议的相关特性(部分)

IP 协议的报文格式 4位版本号&#xff1a; 用来表示IP协议的版本&#xff0c;现有的IP协议只有两个版本&#xff0c;IPv4&#xff0c;IPv6。 4位首部长度&#xff1a; 设定和TCP的首部长度一样 8位服务类型&#xff1a; &#xff08;真正只有4位才有效果&#xff09;&#xf…

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节&#xff0c;双指针算法&#xff0…

2023/10/15总结

学习总结 最近开始写项目了&#xff0c;然后写的过程中遇到了跨域问题。 为什么会出现跨域问题 由于浏览器的同源策略限制。同源策略是一种约定&#xff0c;它是浏览器最核心也是最基本的安全功能。如果缺少了同源策略&#xff0c;那么浏览器的正常功能可能都会收到影响。所谓…

雷电模拟器上使用第一个frida(四)第一个HOOK

经过上述三篇&#xff0c;已经可以使用python3.8.10编写代码&#xff0c;利用frida14.2.18和雷电模拟器9.0.60(9)&#xff0c;Android 9交互。 雷电模拟器上使用第一个frida&#xff08;一&#xff09;之安装-CSDN博客 雷电模拟器上使用第一个frida&#xff08;二&#xff09…

【git的使用方法】——上传文件到gitlab仓库

先进入到你克隆下来的仓库的目录里面 比如&#xff1a;我的仓库名字为zhuox 然后将需要上传推送的文件拷贝到你的克隆仓库下 这里的话我需要拷贝的项目是t3 输入命令ls&#xff0c;就可以查看该文件目录下的所有文件信息 然后输入git add 文件名 我这边输入的是 &#x…

windows内网渗透正向代理

内网渗透正向代理 文章目录 内网渗透正向代理1 正向代理图2 环境准备2.1 正向代理需求&#xff1a; 3 网卡配置3.1 【redream】主机3.2 【base】主机双网卡3.3 【yvkong】网卡设置 4 启动4.1【redream】网卡配置&#xff1a;4.2【base】网卡配置&#xff1a;4.3【yvkong】网卡地…

MQTT整合

MQTT整合 MQTT服务器软件筛选MQTT服务器软件mosquitto下载修改mosquitto配置,并启动mosquitto服务利用mosquitto工具测试订阅与发布可视化MQTT客户端工具MQTTX使用SpringBoot整合MQTT1.2.3.4.5.6.MQTT服务器软件筛选 MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输…

以数智化指标管理,驱动光伏能源行业的市场推进

近年来&#xff0c;碳中和、碳达峰等降低碳排放、提升环境健康度的政策和技术改进正在不断地被社会所认可和引起重视&#xff0c;也被越来越多的企业在生产运营和基础建设中列为重要目标之一。而光伏能源行业作为全球绿色能源、新能源的优秀解决方案&#xff0c;充分利用太阳能…

Android Studio SDKGradleJDK等工具的正确使用

AS在安装使用过程中可能会占用C盘大量空间&#xff0c;对于C盘容量本来就小的人来说非常不友好&#xff0c;其实我们可以自定义安装路径 software development kit安卓软件开发包 Android SDK是一种免费的专门编程语言&#xff0c;允许您创建Android应用程序。Android SDK由谷…

Day1力扣打卡

打卡记录 最长相邻不相等子序列 I&#xff08;脑筋急转弯&#xff09; 链接 思路&#xff1a;形如 11100110001 要达到最大&#xff0c;必须在重复数字选出一个&#xff0c;即在111中取一个1&#xff0c;在00中取一个0&#xff0c;以此类推最终便得到最长相邻不相等子序列。 c…

【Linux】shell运行原理及权限

主页点击直达&#xff1a;个人主页 我的小仓库&#xff1a;代码仓库 C语言偷着笑&#xff1a;C语言专栏 数据结构挨打小记&#xff1a;初阶数据结构专栏 Linux被操作记&#xff1a;Linux专栏 LeetCode刷题掉发记&#xff1a;LeetCode刷题 算法&#xff1a;算法专栏 C头疼…

Linux入门攻坚——3、基础命令学习-文件管理、别名、glob、重定向、管道、用户及组管理、权限管理

文件管理&#xff1a;cp&#xff0c;mv&#xff0c;rm cp&#xff1a;复制命令&#xff0c;copy cp [OPTION]... [-T] SRC DEST cp [OPTION]... SRC... DIRECTORY cp [OPTION]... -t DIRECTORY DEST... 如果目标不存在&#xff0c;新建DEST&#xff0c;并将…

笔试算法题ACM模式输入输出处理

1. Python input之后得到的全是string类型&#xff0c;数字需要用int(n)进行转换 读取单个数 n int(input()) 读取一串数组&#xff1a; nums [int(n) for n in input().split()] &#xff08;nums是个数组&#xff09; 读取字符串&#xff1a; stringinput().split(…

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容 code review! 文章目录 qt笔记之qml下拉标签组合框增加发送按钮发送标签内容1.运行2.文件结构3.main.qml4.main.cc5.MyClass.h6.MyClass.cc7.CMakeLists.txt8.ComboBox.pro9.qml.qrc 1.运行 2.文件结构 3.main.qml 代码 …

【1314. 矩阵区域和】

目录 一、题目描述二、算法思想三、代码实现 一、题目描述 二、算法思想 三、代码实现 class Solution { public:vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {//先预处理数组int nmat.size();//行int mmat[0].size();…

python--短路运算,把0、空字符串和None看成 False,其他数值和非空字符串都看成 True

代码 print(3 and 4 and 5) # 5 print(5 and 6 or 7) # 6 4 > 3 and print(‘hello world’) # 输出hello world 注释&#xff1a; 在逻辑运算中&#xff0c;不一定逻辑运算符的两边都是纯表达式。也可以是数值类型的数据。 Python把0、空字符串和None看成 False&#xff…

STM32 ---- 再次学习STM32F103C8T6/STM32F409IGT6

目录 一、环境搭建及介绍 关于STM32基础介绍 新建工程 外设案例 LED流水灯 蜂鸣器 上拉电阻和下拉电阻知识 电压比较器 c语言基础知识 类型、结构体、枚举 类型int8_t int16_t int32_t 宏替换 #define 和typedef用法 结构体两种填充方法 和 命名规则 枚举用法 常用…

FPGA复习(功耗)

减小功耗 就得减小电流 电流和CF有关&#xff08; C: 电容&#xff08;被门数目和布线长度影响&#xff09; F:时钟频率&#xff09; 方法大纲 减小功耗&#xff1a;1 时钟控制 2输入控制 3减小供电电压 4双沿触发器 5修改终端 同步数字电路降低动态功耗&#xff1a;动态禁止…

langchain callback学习

文章目录 一.quickstart二.Async callbacks三.把回调消息写入文件如何提取出来正则表达式官方的方法 一.quickstart 官方文档在此&#xff1a;https://python.langchain.com/docs/modules/callbacks/ 发现自己之前用langchain都是纯纯只是跑通&#xff0c;要能灵活使用还是得深…

猫头虎博客带您使用Markdown编辑器

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…