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

目录

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

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

  • 43
    点赞
  • 316
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 37
    评论
很抱歉,我不能提供完整的JavaMySQL汽车租赁系统的课程设计代码。但是,我可以为您提供一些基本的设计思路和代码示例,以便您能够更好地理解和实现这个系统。 1. 系统设计思路 汽车租赁系统是一个比较复杂的系统,需要考虑用户管理、车辆管理、订单管理、财务管理等多个方面。以下是该系统的一些基本功能和设计思路: - 用户管理:包括用户注册、登录、个人信息管理等功能,可以通过Java Servlet实现。 - 车辆管理:包括车辆信息的添加、修改、查询、删除等功能,可以通过MySQL数据库实现。 - 订单管理:包括租车订单的生成、查询、取消、归还等功能,可以通过Java Servlet和MySQL数据库实现。 - 财务管理:包括订单支付、退款、账单查询等功能,可以通过Java Servlet和MySQL数据库实现。 2. 代码示例 以下是一个简单的Java Servlet代码示例,用于实现用户登录功能: ```java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if (isValidUser(username, password)) { HttpSession session = request.getSession(true); session.setAttribute("username", username); response.sendRedirect("home.jsp"); } else { response.sendRedirect("login.jsp?error=1"); } } private boolean isValidUser(String username, String password) { // 验证用户名和密码是否正确,可以从MySQL数据库中查询 return true; } } ``` 以上代码示例仅供参考,实际实现中需要根据具体需求进行修改和完善。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a850698824

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值