Java+mysql 汽车租赁系统设计与实现

您所在的位置:网站首页 java预约功能的设计思路 Java+mysql 汽车租赁系统设计与实现

Java+mysql 汽车租赁系统设计与实现

2024-07-12 19:14:55| 来源: 网络整理| 查看: 265

目录

1.需求分析

1.1管理员需求

1.2用户需求

2.概要设计

2.1框架图

2.2 数据库设计

2.2.1 供应商

2.2.2 用户

2.2.3 车辆

2.2.4 租用

3.运行环境

4.开发工具和编程语言

5.详细设计

5.1 用户注册

5.2 用户登录

6.测试结果

6.1登录界面

6.2用户注册

6.3 用户进入系统页面

6.4 按租金升序显示所有车辆信息

6.5 按租金降序显示所有车辆信息

6.6 用户租用库存量为1的车辆

6.7 用户查看自己的订单

6.8按租金升/降序显示可租用车辆

6.9用户归还车辆

6.10 输入车辆车型查询

6.11 进入管理员页面

7 项目总结

1.需求分析 1.1管理员需求

管理员这边要能增删改查车辆信息,可以显示可租用的车辆和所有车辆信息,并且可以按照租金进行升序或者降序排列,对车型可以进行查询;车不够了还要及时向供应商进货,这里就涉及到供应商信息,管理员要能对供应商信息进行增删改查,也要能查看,修改,删除用户信息,要添加用户信息的话只能由用户通过注册来添加,还能通过用户姓名查询用户信息。管理员还能查看所有购买车辆的信息;查看所有用户租用车辆的信息;按照车型分类对租用次数进行统计。

1.2用户需求

用户首先得注册;其次会想到租赁,用户租车,需要看到有哪些车,再租车,租车会显示租车时间,要租的车,交的押金,租了后还要归还,还要能查看自己的订单。

2.概要设计 2.1框架图

                                                                                                                                                     图2.1.1 框架图

                                                                                                                                             图2.1.2 关系图

所用模块:

1)注册模块:调用register.java的register方法里面又调用了Find.java的FindUserByName方法

2)登陆模块:分为管理员登陆和用户登陆,管理员登陆是确定的账号和密码,账号:root,密码:leilei.用户登陆调用了check方法,check方法里再调用Find.java的FindUserById方法

3)添加模块:(车辆,供应商)调用Find.java里的方法,分别为:Find.FindCarById(),FindSupplier()

4)删除模块:(用户,车辆,供应商)调用Delete.java里的方法,分别为:1.DeleteUser();2.DeleteCar();3.DeleteSupplier()

5)查询模块:(用户,车辆,供应商)调用Find.java里的方法,分别为:1.FindUserById();2.FindCarById();3.FindSupplier()

6)修改模块:(用户,车辆,供应商)调用Update.java里的方法,分别为:1.UpdateUser();2.UpdateCar();3.UpdateSupplier()

7)租车模块:调用Add.java的AddRent()

8)还车模块:调用Update.java的UpdateRent()方法

9)管理员操作:

1):按租金升降序显示可租用车辆:调用Show.java的showAdmin_car_can方法

2):按租金升降序显示所有车辆:调用Show.java的showAdmin_car方法

3):查看用户资料:调用Show.java的ShowUser()方法

4):查看供应商信息:调用Show.java的Showsupplier()方法

5):查看购车信息:调用Show.java的Showbuy()方法

6):查看租车信息:调用Show.java的Showrent()方法

7):通过车型查询车辆信息在首页:调用Find.java的FindCarByModel()方法

8):通过用户姓名查询用户信息:调用Find.java的FindUserByName()方法

10)用户操作:

1)按租金升降序显示所有车辆:调用Show.java的showUser_car()方法

2)按租金升降序显示可租用车辆:调用Show.java的showUser_car_can()方法。

3)查看订单:调用Show.java的showrent()方法。

4)通过车型查询车辆信息:调用Find.java的FindCarByModel()方法。

2.2 数据库设计 2.2.1 供应商

2.2.2 用户

2.2.3 车辆

2.2.4 租用

3.运行环境

软件环境: Windows10家庭中文版

硬件环境: Intel®Core™i5-8250U+8G内存+256G固态+WiFi

4.开发工具和编程语言

开发工具:Eclipse(4.3版)、MySQL(5.7版)、Navicat for MySQL(9)

编程语言:Java语言

5.详细设计 5.1 用户注册 btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String S1 = textField.getText(); String sex = comboBox.getSelectedItem().toString(); String S2 = textField_2.getText(); String S3 = textField_3.getText(); String S4 = new String(textField_4.getPassword()); String S5 = new String(textField_5.getPassword()); if (S1.equals("") && S2.equals("") && S3.equals("") && S4.equals("") && S5.equals("")) { JOptionPane.showMessageDialog(null, "信息不能为空!"); } else { if (S4.equals(S5)) { int ID=-1; Add.AddUser( S1, sex, S2, S3, S4); try { rs=Find.FindUserByName(S1); while(rs.next()) { ID=rs.getInt("用户编号"); } } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } JOptionPane..showMessageDialog(null, "注册成功:\n您的账号为 "+ID+" 请记住您的账号"); //register.setVisible(false); register.dispose(); new login(); } else { JOptionPane..showMessageDialog(null, "确认密码不对,请重新输入!"); } } } }); 5.2 用户登录 public class LoginListener implements ActionListener {//登陆按钮触发,打开登录界面 public void actionPerformed(ActionEvent e) { if (!isValidCodeRight()) { JOptionPane.showMessageDialog(null, "验证码错误!"); } else { String ac = accountText.getText(); String password = new String(passwordField.getPassword()); if (password.equals("") || ac.equals("")) { JOptionPane.showMessageDialog(null, "用户名或密码不能为 空!"); } else { if (type == "admin") { if ("root".equals(accountText.getText()) && "leilei".equals(password)) { //JF.setVisible(false); JF.dispose(); new 管理员(); System.out.print("管理员登陆成功"); } else { JOptionPane.showMessageDialog(null, "登录失败,用户名或密码错误!"); } } else { int id = Integer.parseInt(ac); String pass = Check(id); if (password.equals(pass)) { // 登陆成功 new 用户(id); JF.dispose(); //JF.setVisible(false); System.out.print("用户登陆成功"); } else { JOptionPane.showMessageDialog(null, "登录失败,用户名或密码错误!"); } } } } }// actionPerformed } 6.测试结果 6.1登录界面

6.2用户注册

6.3 用户进入系统页面

6.4 按租金升序显示所有车辆信息

6.5 按租金降序显示所有车辆信息

6.6 用户租用库存量为1的车辆

6.7 用户查看自己的订单

6.8按租金升/降序显示可租用车辆

6.9用户归还车辆

6.10 输入车辆车型查询

 

6.11 进入管理员页面

7 项目总结

通过本次的Java课程设计,我基本掌握了MySQL数据库的用法和如何通过Java代码来调用数据库,从最开始就遇到了很多问题,比如MySQL一直初始化不了,根据书上的步骤也不行,然后不停试错,百度,问同学,才知道应该是以管理员身份运行命令提示符,到后来的连接不上数据库,连接好了又不停报错不断修改反反复复。这个系统确实很难也没有要求,需要自己想需求,想扩展功能,其实很多功能都不太知道该怎么实现,所以就一个功能一个功能的查询资料再修改,最后还学会了联表查询。本次实验的最大收获就是真正写了个关于数据库的软件,数据库无论在现在各类软件中都有涉及,所以数据库对于计算机从业者来说是必须要掌握的。本次试验虽然说只是初步了解了数据库编程的-些知识,但还是学到了很多。最后,本次试验成果可以说是一个软件(质量暂且不论),软件的完成需要固定的几个步骤:需求分析,概念设计,编码,调试等等,经过本次尝试,终于知道了需求分析的重要性,它是整个软件的基础,影响到软件的功能是否完善等等,所以需求分析一定要到位。

总的来说,这次课设,使我受益匪浅。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭