java SSM火车票务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点
    java SSM火车票务管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代
码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

java ssm火车票务管理系统


二、功能介绍
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)管理员管理:对管理员信息进行添加、删除、修改和查看
(3)新闻管理:对新闻信息进行添加、删除、修改和查看
(4)列车管理:对列车信息进行添加、删除、修改和查看
(5)途径站点管理:对途径站点信息进行添加、删除、修改和查看
(6)订票管理:对订票信息进行添加、删除、修改和查看。
(7)用户登录、个人信息修改

数据库设计

(1)用户信息表如表3.1所示:

表3.1 用户信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

xb

VARCHAR

40

性别

6

dh

VARCHAR

40

电话

7

yx

VARCHAR

40

邮箱

8

zjh

VARCHAR

40

证件号

(2)管理员信息表如表3.2所示:

表3.2 管理员信息表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

xb

VARCHAR

40

性别

6

dh

VARCHAR

40

电话

7

yx

VARCHAR

40

邮箱

(3)新闻信息表如表3.3所示:

表3.3新闻信息表

序号

字段名称

数据类型

长度

主键

描述

1

xwid

INTEGER

11

新闻编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

fbsj

VARCHAR

40

发布时间

(4)列车信息表如表3.4所示:

表3.4 列车信息表

序号

字段名称

数据类型

长度

主键

描述

1

lcid

INTEGER

11

列车编号

2

cc

VARCHAR

40

车次

3

qsz

VARCHAR

40

起始站

4

mdz

VARCHAR

40

目的站

5

fcsj

VARCHAR

40

发车时间

6

dzsj

VARCHAR

40

到站时间

7

pj

VARCHAR

40

票价

8

ptzjg

VARCHAR

40

普通座价格

9

wpjg

VARCHAR

40

卧铺价格

10

rwjg

VARCHAR

40

软卧价格

控制层代码

@RequestMapping(value="/add")public String add(lieche lieche,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("lcid", lieche.getLcid());//列车编号map.put("cc", lieche.getCc());//车次map.put("qsz", lieche.getQsz());//起始站map.put("mdz", lieche.getMdz());//目的站map.put("fcsj", lieche.getFcsj());//发车时间map.put("dzsj", lieche.getDzsj());//到站时间map.put("pj", lieche.getPj());//票价map.put("ptzjg", lieche.getPtzjg());//普通座价格map.put("wpjg", lieche.getWpjg());//卧铺价格map.put("rwjg", lieche.getRwjg());//软卧价格String lcid=(String)lieche.getLcid();//列车编号String cc=(String)lieche.getCc();//车次String qsz=(String)lieche.getQsz();//起始站String mdz=(String)lieche.getMdz();//目的站String fcsj=(String)lieche.getFcsj();//发车时间String dzsj=(String)lieche.getDzsj();//到站时间String pj=(String)lieche.getPj();//票价String ptzjg=(String)lieche.getPtzjg();//普通座价格String wpjg=(String)lieche.getWpjg();//卧铺价格String rwjg=(String)lieche.getRwjg();//软卧价格String sql="select count(1) as num from lieche where cc='"+cc+"'";ResultSet rs=null;int num=0;DBO db=new DBO();try{rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num>0){request.setAttribute("msg", "<script>alert('添加失败、车次重复');</script>");}else{liechedao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");	}}catch(Exception e){e.printStackTrace();}//	request.setAttribute("msg", "<script>alert('添加成功');</script>");System.out.println("addok");return "lieche/liecheadd";}/**删除 * */@RequestMapping(value="/del")public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){//	Map<String,Object> map= new HashMap<String,Object>();String a=(String)request.getParameter("keyid");id=Integer.parseInt(a);request.setAttribute("msg", "<script>alert('删除成功');</script>");liechedao.del(id);return selectall(null,map,request);}/*** 修改lieche信息*/@RequestMapping(value="/update")public String update(lieche lieche,HttpServletRequest request,Map<String,Object> map1){Map<String,Object> map= new HashMap<String,Object>();map.put("lcid", lieche.getLcid());//列车编号map.put("cc", lieche.getCc());//车次map.put("qsz", lieche.getQsz());//起始站map.put("mdz", lieche.getMdz());//目的站map.put("fcsj", lieche.getFcsj());//发车时间map.put("dzsj", lieche.getDzsj());//到站时间map.put("pj", lieche.getPj());//票价map.put("ptzjg", lieche.getPtzjg());//普通座价格map.put("wpjg", lieche.getWpjg());//卧铺价格map.put("rwjg", lieche.getRwjg());//软卧价格String lcid=(String)lieche.getLcid();//列车编号String cc=(String)lieche.getCc();//车次String qsz=(String)lieche.getQsz();//起始站String mdz=(String)lieche.getMdz();//目的站String fcsj=(String)lieche.getFcsj();//发车时间String dzsj=(String)lieche.getDzsj();//到站时间String pj=(String)lieche.getPj();//票价String ptzjg=(String)lieche.getPtzjg();//普通座价格String wpjg=(String)lieche.getWpjg();//卧铺价格String rwjg=(String)lieche.getRwjg();//软卧价格request.setAttribute("msg", "<script>alert('修改成功');</script>");liechedao.update(map);return selectall(null,map1,request);}/*** 查询lieche信息*/@RequestMapping(value="/modify")public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){String keyid=(String)request.getParameter("keyid");List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();list=liechedao.select(Integer.parseInt(keyid));request.setAttribute("lcid", list.get(0).get("lcid"));//列车编号request.setAttribute("cc", list.get(0).get("cc"));//车次request.setAttribute("qsz", list.get(0).get("qsz"));//起始站request.setAttribute("mdz", list.get(0).get("mdz"));//目的站request.setAttribute("fcsj", list.get(0).get("fcsj"));//发车时间request.setAttribute("dzsj", list.get(0).get("dzsj"));//到站时间request.setAttribute("pj", list.get(0).get("pj"));//票价request.setAttribute("ptzjg", list.get(0).get("ptzjg"));//普通座价格request.setAttribute("wpjg", list.get(0).get("wpjg"));//卧铺价格request.setAttribute("rwjg", list.get(0).get("rwjg"));//软卧价格return "lieche/liechemodify";}

持久层代码

public void save(Map<String, Object> map) {sqlSession.insert("com.lieche.insertlieche", map);}/*** 删除aa* @param id*/public void del(Integer id) {sqlSession.delete("com.lieche.dellieche", id);}/*** 修改lieche信息* @param map*/public void update(Map<String, Object> map) {sqlSession.update("com.lieche.updatelieche", map);}/*** 查询lieche信息* @param id* @return */public List<Map<String, Object>> select(Integer id) {return sqlSession.selectList("com.lieche.selectlieche", id) ; }/*** 查询lieche信息* * @return */public List<Map<String, Object>> selectAll(Map<String, Object> map) {return sqlSession.selectList("com.lieche.selectall", map) ; }

mybatis 配置文件

<insert id="insertlieche"  parameterType="java.util.Map">insert  into  lieche(cc,qsz,mdz,fcsj,dzsj,pj,ptzjg,wpjg,rwjg)  values(#{cc},#{qsz},#{mdz},#{fcsj},#{dzsj},#{pj},#{ptzjg},#{wpjg},#{rwjg})
</insert><delete id="dellieche" parameterType="int">delete  from  lieche where lcid=#{lcid}
</delete><update id="updatelieche" parameterType="java.util.Map">
update lieche set cc=#{cc},qsz=#{qsz},mdz=#{mdz},fcsj=#{fcsj},dzsj=#{dzsj},pj=#{pj},ptzjg=#{ptzjg},wpjg=#{wpjg},rwjg=#{rwjg} where lcid=#{lcid}
</update><!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectlieche"  parameterType="int" resultType="java.util.Map">select  * from lieche where lcid=#{lcid}
</select><!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">select  * from lieche where 1=1
<if test=" null != cc and cc!=''" >and cc = #{cc}
</if>
<if test=" null != qsz and qsz!=''" >and qsz = #{qsz}
</if>
<if test=" null != mdz and mdz!=''" >and mdz = #{mdz}
</if>
<if test=" null != fcsj and fcsj!=''" >and fcsj = #{fcsj}
</if>
<if test=" null != dzsj and dzsj!=''" >and dzsj = #{dzsj}
</if>
<if test=" null != pj and pj!=''" >and pj = #{pj}
</if>
<if test=" null != ptzjg and ptzjg!=''" >and ptzjg = #{ptzjg}
</if>
<if test=" null != wpjg and wpjg!=''" >and wpjg = #{wpjg}
</if>
<if test=" null != rwjg and rwjg!=''" >and rwjg = #{rwjg}
</if></select>


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmhcpw.sql,系统名称ssmhcpw
    4、系统首页地址:http://127.0.0.1:8080/ssmhcpw/login.jsp

四 系统实现


 

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

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

相关文章

利用svm进行模型训练

一、步骤 1、将文本数据转换为特征向量 &#xff1a; tf-idf 2、使用这些特征向量训练SVM模型 二、代码 from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.svm import SVC from sklearn.m…

Notion开源平替知识库软件AFFiNE本地部署与公网访问远程协作

文章目录 前言1. 使用Docker安装AFFINE2. 安装cpolar内网穿透工具3. 配置AFFINE公网访问地址4. 实现公网远程访问AFFINE5. 结语 前言 本篇文章讲解Notion开源平替全能知识库工具AFFINE如何本地部署&#xff0c;并实现公网远程访问。AFFiNE 是一个全新的开源项目&#xff0c;旨…

深度学习第5天:GAN生成对抗网络

☁️主页 Nowl &#x1f525;专栏 《深度学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​​ 文章目录 一、GAN1.基本思想2.用途3.模型架构 二、具体任务与代码1.任务介绍2.导入库函数3.生成器与判别器4.预处理5.模型训练6.图片生成7.不同训练轮次的结果对比 一…

匿名内部类与Lambda表达式

深入了解Java的匿名内部类 Java作为一种面向对象的编程语言&#xff0c;提供了许多灵活的特性&#xff0c;其中之一就是匿名内部类。匿名内部类是一种没有名字的局部内部类&#xff0c;通常用于创建只需在一个地方使用的类的实例。 什么是匿名内部类&#xff1f; 匿名内部类是…

cmake 最基础示例

C 代码 文件名&#xff1a;first_cmake.cpp #include <iostream> using namespace std;int main() {cout<< "A" << endl;return 0; }CMakeLists.txt 文件 #CMakeLists.txt # 设置:版本 cmake_minimum_required(VERSION 3.20)# 定义 :项目名称 …

跑代码中遇到的错误合集(持续更新)

1.TypeError: dropout(): argument ‘input‘ (position 1) must be Tensor, not str 原因&#xff1a;dropout函数接收到的参数是一个字典类型(需手动设置其不要返回字典类型) 解决步骤: 1.根据代码定位到dropout函数 2.定位到函数中的参数 3.对给dropout函数参数赋值的函数的…

“文思助手”苏哒智能加入飞桨技术伙伴计划,共同打造“大模型+企业办公”新模式

近日&#xff0c;厦门苏哒智能科技有限公司正式加入飞桨技术伙伴计划&#xff0c;双方将发挥各自的专业优势&#xff0c;共同致力于在智能办公和创作领域实现技术突破和业务创新&#xff0c;帮助企业、知识工作者大幅提高生产力。 厦门苏哒智能科技有限公司 厦门苏哒智能科技有…

记录 | docker报错could not select device driver ““ with capabilities: [[gpu]].

ubuntu18.04 上启动 docker start 报错&#xff1a; could not select device driver “” with capabilities: [[gpu]]. docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]. ERRO[0005] error waiting for container: con…

初探栈溢出(上)

0x01 HEVD介绍 HEVD全称为HackSys Ex treme Vulnerable Drive&#xff0c;是一个项目&#xff0c;故意设计包含多种漏洞的驱动程序&#xff0c;旨在帮助安全爱好者来提升他们在内核层面的漏洞利用能力。 说白了&#xff0c;是一个内核漏洞的靶场。 项目地址&#xff1a;htt…

分析若依的文件上传处理逻辑

分析若依的文件上传处理逻辑 注&#xff1a;已经从若依框架完成拆分&#xff0c;此处单独分析一下人家精彩的封装&#xff0c;也来理解一下怎么做一个通用的上传接口&#xff01;如有分析的&#xff0c;理解的不透彻的地方&#xff0c;大家多多包含&#xff0c;欢迎批评指正&am…

Linux,Windows或macOS系统的电脑怎样才能投屏到手机?

很多人都知道手机投屏到电脑的方法&#xff0c;但想要反过来的时候&#xff0c;却束手无策。 如果你想要将电脑投屏到手机&#xff0c;无论你的电脑是Windows&#xff0c;Linux还是macOS系统&#xff0c;无论你的手机是安卓、iOS还是鸿蒙&#xff0c;都可以用下面这个方法实现电…

01.前言

前言 1.什么是前端开发 前端开发是创建 Web 页面或 app 等前端界面呈现给用户的过程核心技术&#xff1a;HTML&#xff0c;CSS&#xff0c;JavaScript 以及衍生出的各种技术&#xff0c;框架等 2.前端开发应用场景 3.前端职业路线 4.什么是CS架构与BS架构 介绍 应用软件&a…