🍊作者:计算机编程-吉哥
🍊简介:专业从事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.参考文档
你可能还有感兴趣的项目👇🏻👇🏻👇🏻
更多项目推荐:计算机毕业设计项目
如果大家有任何疑虑,请在下方咨询或评论