计算机毕业设计 基于Web铁路订票管理系统 火车订票管理系统的设计与实现 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 用户车票退票管理

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.数据库表结构

15张 

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 用户车票退票管理

 

6.数据库文件设计

CREATE TABLE `aboutus` (`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 `bupiaoxinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`bupiaobianhao` varchar(200) DEFAULT NULL COMMENT '补票编号',`bupiaoshijian` datetime DEFAULT NULL COMMENT '补票时间',`checihao` varchar(200) DEFAULT NULL COMMENT '车次号',`chepiaojiage` varchar(200) DEFAULT NULL COMMENT '车票价格',`shangchedian` varchar(200) DEFAULT NULL COMMENT '上车点',`xiachedian` varchar(200) DEFAULT NULL COMMENT '下车点',`bupiaobeizhu` longtext COMMENT '补票备注',`yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号',`yonghuxingming` varchar(200) DEFAULT NULL COMMENT '用户姓名',`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',`ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付',PRIMARY KEY (`id`),UNIQUE KEY `bupiaobianhao` (`bupiaobianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COMMENT='补票信息';CREATE TABLE `chepiaotuipiao` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`tuipiaobianhao` varchar(200) DEFAULT NULL COMMENT '退票编号',`chexuhao` varchar(200) DEFAULT NULL COMMENT '车序号',`huocheleixing` varchar(200) DEFAULT NULL COMMENT '火车类型',`checihao` varchar(200) DEFAULT NULL COMMENT '车次号',`qidianzhan` varchar(200) NOT NULL COMMENT '起点站',`zhongdianzhan` varchar(200) NOT NULL COMMENT '终点站',`kaicheshijian` datetime NOT NULL COMMENT '开车时间',`daozhanshijian` datetime NOT NULL COMMENT '到站时间',`chepiaoleixing` varchar(200) DEFAULT NULL COMMENT '车票类型',`zuoweileixing` varchar(200) DEFAULT NULL COMMENT '座位类型',`chepiaojiage` int(11) NOT NULL COMMENT '车票价格',`tuipiaoshijian` datetime DEFAULT NULL COMMENT '退票时间',`tuipiaobeizhu` longtext COMMENT '退票备注',`yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号',`yonghuxingming` varchar(200) DEFAULT NULL COMMENT '用户姓名',`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',PRIMARY KEY (`id`),UNIQUE KEY `tuipiaobianhao` (`tuipiaobianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT='车票退票';CREATE TABLE `chepiaoyuding` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`yudingbianhao` varchar(200) DEFAULT NULL COMMENT '预订编号',`chexuhao` varchar(200) DEFAULT NULL COMMENT '车序号',`huocheleixing` varchar(200) DEFAULT NULL COMMENT '火车类型',`checihao` varchar(200) DEFAULT NULL COMMENT '车次号',`qidianzhan` varchar(200) NOT NULL COMMENT '起点站',`zhongdianzhan` varchar(200) NOT NULL COMMENT '终点站',`kaicheshijian` datetime NOT NULL COMMENT '开车时间',`daozhanshijian` datetime NOT NULL COMMENT '到站时间',`chepiaoleixing` varchar(200) DEFAULT NULL COMMENT '车票类型',`zuoweileixing` varchar(200) DEFAULT NULL COMMENT '座位类型',`chepiaojiage` int(11) NOT NULL COMMENT '车票价格',`chepiaoshu` int(11) NOT NULL COMMENT '车票',`yudingshijian` datetime DEFAULT NULL COMMENT '预订时间',`yudingbeizhu` longtext COMMENT '预订备注',`yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号',`yonghuxingming` varchar(200) DEFAULT NULL COMMENT '用户姓名',`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',`ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付',PRIMARY KEY (`id`),UNIQUE KEY `yudingbianhao` (`yudingbianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=49 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 `discusshuochexinxi` (`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 `huocheleixing` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`huocheleixing` varchar(200) DEFAULT NULL COMMENT '火车类型',PRIMARY KEY (`id`)
) 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=99 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 `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 `xiachexinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`xiachebianhao` varchar(200) DEFAULT NULL COMMENT '下车编号',`xiachezhandian` varchar(200) DEFAULT NULL COMMENT '下车站点',`xiacheshijian` datetime DEFAULT NULL COMMENT '下车时间',`xiachebeizhu` longtext COMMENT '下车备注',`yonghuzhanghao` varchar(200) DEFAULT NULL COMMENT '用户账号',`yonghuxingming` varchar(200) DEFAULT NULL COMMENT '用户姓名',PRIMARY KEY (`id`),UNIQUE KEY `xiachebianhao` (`xiachebianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=69 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) NOT NULL COMMENT '用户账号',`mima` varchar(200) NOT NULL COMMENT '密码',`yonghuxingming` varchar(200) NOT NULL COMMENT '用户姓名',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`yonghudianhua` varchar(200) DEFAULT NULL COMMENT '用户电话',`touxiang` longtext 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("/chepiaoyuding")
public class ChepiaoyudingController {@Autowiredprivate ChepiaoyudingService chepiaoyudingService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ChepiaoyudingEntity chepiaoyuding,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {chepiaoyuding.setYonghuzhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();PageUtils page = chepiaoyudingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chepiaoyuding), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ChepiaoyudingEntity chepiaoyuding, HttpServletRequest request){EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();PageUtils page = chepiaoyudingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chepiaoyuding), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ChepiaoyudingEntity chepiaoyuding){EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();ew.allEq(MPUtil.allEQMapPre( chepiaoyuding, "chepiaoyuding")); return R.ok().put("data", chepiaoyudingService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ChepiaoyudingEntity chepiaoyuding){EntityWrapper< ChepiaoyudingEntity> ew = new EntityWrapper< ChepiaoyudingEntity>();ew.allEq(MPUtil.allEQMapPre( chepiaoyuding, "chepiaoyuding")); ChepiaoyudingView chepiaoyudingView =  chepiaoyudingService.selectView(ew);return R.ok("查询车票预订成功").put("data", chepiaoyudingView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ChepiaoyudingEntity chepiaoyuding = chepiaoyudingService.selectById(id);return R.ok().put("data", chepiaoyuding);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ChepiaoyudingEntity chepiaoyuding = chepiaoyudingService.selectById(id);return R.ok().put("data", chepiaoyuding);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ChepiaoyudingEntity chepiaoyuding, HttpServletRequest request){chepiaoyuding.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(chepiaoyuding);chepiaoyudingService.insert(chepiaoyuding);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ChepiaoyudingEntity chepiaoyuding, HttpServletRequest request){chepiaoyuding.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(chepiaoyuding);chepiaoyudingService.insert(chepiaoyuding);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody ChepiaoyudingEntity chepiaoyuding, HttpServletRequest request){//ValidatorUtils.validateEntity(chepiaoyuding);chepiaoyudingService.updateById(chepiaoyuding);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){chepiaoyudingService.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<ChepiaoyudingEntity> wrapper = new EntityWrapper<ChepiaoyudingEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {wrapper.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));}int count = chepiaoyudingService.selectCount(wrapper);return R.ok().put("count", count);}/*** (按值统计)*/@RequestMapping("/value/{xColumnName}/{yColumnName}")public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));}List<Map<String, Object>> result = chepiaoyudingService.selectValue(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** (按值统计)时间统计类型*/@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);params.put("timeStatType", timeStatType);EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));}List<Map<String, Object>> result = chepiaoyudingService.selectTimeStatValue(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** 分组统计*/@RequestMapping("/group/{columnName}")public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {Map<String, Object> params = new HashMap<String, Object>();params.put("column", columnName);EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));}List<Map<String, Object>> result = chepiaoyudingService.selectGroup(params, ew);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** 总数量*/@RequestMapping("/count")public R count(@RequestParam Map<String, Object> params,ChepiaoyudingEntity chepiaoyuding, HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {chepiaoyuding.setYonghuzhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<ChepiaoyudingEntity> ew = new EntityWrapper<ChepiaoyudingEntity>();int count = chepiaoyudingService.selectCount(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chepiaoyuding), params), params));return R.ok().put("data", count);}}

7.2 车票预定Service

package com.service;/*** 车票预订** @author 计算机编程-吉哥*/
public interface ChepiaoyudingService extends IService<ChepiaoyudingEntity> {PageUtils queryPage(Map<String, Object> params);List<ChepiaoyudingVO> selectListVO(Wrapper<ChepiaoyudingEntity> wrapper);ChepiaoyudingVO selectVO(@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);List<ChepiaoyudingView> selectListView(Wrapper<ChepiaoyudingEntity> wrapper);ChepiaoyudingView selectView(@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);PageUtils queryPage(Map<String, Object> params,Wrapper<ChepiaoyudingEntity> wrapper);List<Map<String, Object>> selectValue(Map<String, Object> params,Wrapper<ChepiaoyudingEntity> wrapper);List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params,Wrapper<ChepiaoyudingEntity> wrapper);List<Map<String, Object>> selectGroup(Map<String, Object> params,Wrapper<ChepiaoyudingEntity> wrapper);}

7.3 车票预定ServiceImpl

package com.service.impl;import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;import com.dao.ChepiaoyudingDao;
import com.entity.ChepiaoyudingEntity;
import com.service.ChepiaoyudingService;
import com.entity.vo.ChepiaoyudingVO;
import com.entity.view.ChepiaoyudingView;@Service("chepiaoyudingService")
public class ChepiaoyudingServiceImpl extends ServiceImpl<ChepiaoyudingDao, ChepiaoyudingEntity> implements ChepiaoyudingService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<ChepiaoyudingEntity> page = this.selectPage(new Query<ChepiaoyudingEntity>(params).getPage(),new EntityWrapper<ChepiaoyudingEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<ChepiaoyudingEntity> wrapper) {Page<ChepiaoyudingView> page =new Query<ChepiaoyudingView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<ChepiaoyudingVO> selectListVO(Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic ChepiaoyudingVO selectVO(Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<ChepiaoyudingView> selectListView(Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic ChepiaoyudingView selectView(Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectView(wrapper);}@Overridepublic List<Map<String, Object>> selectValue(Map<String, Object> params, Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectValue(params, wrapper);}@Overridepublic List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params, Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectTimeStatValue(params, wrapper);}@Overridepublic List<Map<String, Object>> selectGroup(Map<String, Object> params, Wrapper<ChepiaoyudingEntity> wrapper) {return baseMapper.selectGroup(params, wrapper);}}

 7.4 车票预定DAO

package com.dao;/*** 车票预订* * @author 计算机编程-吉哥*/
public interface ChepiaoyudingDao extends BaseMapper<ChepiaoyudingEntity> {List<ChepiaoyudingVO> selectListVO(@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);ChepiaoyudingVO selectVO(@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);List<ChepiaoyudingView> selectListView(@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);List<ChepiaoyudingView> selectListView(Pagination page,@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);ChepiaoyudingView selectView(@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);List<Map<String, Object>> selectValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);List<Map<String, Object>> selectTimeStatValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);List<Map<String, Object>> selectGroup(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<ChepiaoyudingEntity> wrapper);}

8.参考文档

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

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

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

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

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

相关文章

校招C#面试题整理—Unity客户端

前言 博客已经1年多没有更新了&#xff0c;这一年主要在实习并准备秋招和春招&#xff0c;目前已经上岸Unity客户端岗位&#xff0c;现将去年校招遇到的一些面试题的事后整理分享出来。答案是笔者自己整理的不一定保证准确&#xff0c;欢迎大家在评论区指出。 Unity客户端岗的…

相似性搜索:第 3 部分--混合倒排文件索引和产品量化

接续前文&#xff1a;相似性搜索&#xff1a;第 2 部分&#xff1a;产品量化 SImilarity 搜索是一个问题&#xff0c;给定一个查询的目标是在所有数据库文档中找到与其最相似的文档。 一、介绍 在数据科学中&#xff0c;相似性搜索经常出现在NLP领域&#xff0c;搜索引擎或推…

【MST】 CF1108 F

Problem - 1108F - Codeforces 题意 思路 先看样例 这里的 MST&#xff0c;是把边排序之后合并至权值为3 权值为3的两条边&#xff0c;选其中一条即可&#xff0c;但是不能两条都选&#xff0c;这样会形成环 这启示我们&#xff0c;我们要操作的是和Kruskal的最后一条边权值…

【MySql】6- 实践篇(四)

文章目录 1. 为何SQL语句逻辑相同&#xff0c;性能却差异巨大1.1 性能差异大的SQL语句问题1.1.1 案例一:条件字段函数操作1.1.2 案例二:隐式类型转换1.1.3 案例三:隐式字符编码转换 2. 为何只查询一行的SQL执行很慢2.1 场景一:查询长时间不返回2.1.1 等MDL锁2.1.2 等 flush2.1.…

【每日一题】只出现一次的数字 II

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;位运算 写在最后 Tag 【位运算】【数组】【2023-10-15】 题目来源 137. 只出现一次的数字 II 题目解读 找出数组中仅出现一次的数字&#xff0c;其余数字仅出现三次。要求线性时间复杂度求解。 解题思路 本题的朴素…

Java类加载过程

一、前言 我们都知道计算机的底层逻辑都是0和1的编码&#xff0c;当然除了现在所研究的量子计算除外。那么我们在计算机所做的一切操作&#xff0c;底层原理是不是都可以翻译到0和1呢。如果刨根问底的话&#xff0c;可以这么说&#xff0c;当然0和1的表示也属于逻辑门电路电的…

蓝牙资讯|2024年智能家居新趋势,蓝牙助力智能家居发展

2024年将迎来变革&#xff0c;智能家居趋势不仅会影响我们的生活空间&#xff0c;还会提高我们的生活质量&#xff0c;让我们有更多时间享受属于自己的时光。 2024年智能家居新趋势 趋势一&#xff1a;多功能科技 2024年预示着多功能技术的趋势&#xff0c;创新将成为焦点。混…

Spring framework Day14:配置类的Lite模式和Full模式

前言 Lite模式和Full模式是指在软件或系统中的不同配置选项。一般来说&#xff0c;Lite模式是指较为简洁、轻量级的配置&#xff0c;而Full模式则是指更加完整、功能更丰富的配置。 Lite模式通常会去除一些不常用或占用资源较多的功能&#xff0c;以提高系统的运行效率和响应…

计算机算法分析与设计(9)---0-1背包和完全背包问题(含C++代码)

文章目录 一、0-1背包概述1.1 问题描述1.2 算法思想 二、0-1背包代码2.1 题目描述2.2 代码编写 三、完全背包概述四、完全背包代码4.1 题目描述4.1 代码编写4.2 代码优化 一、0-1背包概述 1.1 问题描述 1. 0-1背包问题&#xff1a;给定 n n n 种物品和一背包。物品 i i i 的…

【vue3】实现数据响应式(ref、shallowRef、trigger、reactive、shallowReactive、toRef、toRefs)

一、ref、shallowRef、trigger ref支持所有类型 可以粗略理解为 ref shallowRef triggerRef 1、通过ref获取dom元素 <p ref"_ref">这是ref获取dom元素</p>import {ref,shallowRef, triggerRef} from vueconst _ref ref()console.log(_ref.value?.i…

redis基本数据类型

一) 字符串(String) String是redis最基本的类型&#xff0c;value最大是512M&#xff0c;String类型是二进制安全的&#xff0c;可以包含任何数据&#xff0c;如jpg图片或者序列化的对象 1 使用场景 1) 缓存&#xff1a;redis作为缓存层&#xff0c;mysql做持久化层&#xff0…

AC修炼计划(AtCoder Regular Contest 166)

传送门&#xff1a;AtCoder Regular Contest 166 - AtCoder 一直修炼cf&#xff0c;觉得遇到了瓶颈了&#xff0c;所以想在atcode上寻求一些突破&#xff0c;今天本来想尝试vp AtCoder Regular Contest 166&#xff0c;但结局本不是很好&#xff0c;被卡了半天&#xff0c;止步…

力扣第538题 把二叉搜索树转换为累加树 c++

题目 538. 把二叉搜索树转换为累加树 中等 相关标签 树 深度优先搜索 二叉搜索树 二叉树 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值…

C语言 sizeof

定义 sizeof是C语言的一种单目操作符。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 使用方法 用于数据类型 sizeof(type) 数据类型必须用括号括住 用于变量 size…

ubuntu20.04 vins-fusion 运行记录

过程记录 环境&#xff1a; ubuntu20.04 opencv4.2.0(此次使用) 3.3.1(其他程序在使用) vins-fusion vision_opencv 1.下载VINS-Fusion和cv_bridge&#xff0c;并进行修改&#xff0c;方便使用opencv4.2.0和对应的cv_bridge。 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src…

C++数位动态规划算法:统计整数数目

题目 给你两个数字字符串 num1 和 num2 &#xff0c;以及两个整数 max_sum 和 min_sum 。如果一个整数 x 满足以下条件&#xff0c;我们称它是一个好整数&#xff1a; num1 < x < num2 min_sum < digit_sum(x) < max_sum. 请你返回好整数的数目。答案可能很大&…

【Linux】基本指令-入门级文件操作(二)

目录 基本指令 7 cp指令&#xff08;重要&#xff09; 8 mv指令&#xff08;重要&#xff09; 9 nano指令 10 cat指令 11 echo指令与重定向&#xff08;重要&#xff09; 12 more指令 13 less指令 基本指令 7 cp指令&#xff08;重要&#xff09; 功能&#xff1a;复…

redis如何实现缓存预热

在业务系统中&#xff0c;我们需要在程序启动的时候加载一些常用的数据到内存数据库中&#xff0c;从而减少业务数据库的压力。这就是我们常提到的缓存预热。官方一点的解释是这样的&#xff1a; 缓存预热是一种在程序启动或缓存失效之后&#xff0c;主动将热点数据加载到缓存中…

注意力屏蔽(Attention Masking)在Transformer中的作用 【gpt学习记录】

填充遮挡&#xff08;Padding Masking&#xff09;&#xff1a; 未来遮挡&#xff08;Future Masking&#xff09;&#xff1a;

09. 机器学习- 逻辑回归

文章目录 线性回归回顾逻辑回归 Hi&#xff0c;你好。我是茶桁。 上一节课&#xff0c;在结尾的时候咱们预约了这节课一开始对上一节课的内容进行一个回顾&#xff0c;并且预告了这节课内容主要是「逻辑回归」&#xff0c;那我们现在就开始吧。 线性回归回顾 在上一节课中&a…