Java+MySQL汽车租赁管理系统课程设计

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 1、综合运用Java程序设计课程和其他相关课程的理论和知识,掌握面向对象程序设计的一般方法、常用技术及技巧,树立良好的软件设计思想,培养分析问题和解决实际问题的能力;2、学会从OOP程序设计的方法及要求出发,认真分析题目,做好总体设计,根据要求科学地设计包、类、接口等,正确设计算法,合理安排界面,规范开发过程,仔细调试程序,做好设计总结;3、充分利用互联网资源,提高学生获取知识,实践知识的能力。

一、 课程设计目的


1、综合运用Java程序设计课程和其他相关课程的理论和知识,掌握面向对象程序设计的一般方法、常用技术及技巧,树立良好的软件设计思想,培养分析问题和解决实际问题的能力;

2、学会从OOP程序设计的方法及要求出发,认真分析题目,做好总体设计,根据要求科学地设计包、类、接口等,正确设计算法,合理安排界面,规范开发过程,仔细调试程序,做好设计总结;

3、充分利用互联网资源,提高学生获取知识,实践知识的能力。


二、 课程设计内容


汽车信息租赁信息管理系统

要求:设计一个图形用户界面程序,实现以下功能:

前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)


管理员/用户登陆

2.汽车信息的录入、修改、查询、删除 3.客户的租用车辆查看浏览信息。

三、系统描述



需求分析是发现需求,分析求精,逻辑建模,需求规约的过程,其的目的是为了全面获取软件需求,准确理解业务逻辑。车辆租赁系统具有以下基本功能。


用户管理:

包括用户的注册,登陆等,没有账户的用户可以注册会员,登录,通过分类查询车辆,以及查看其详细信息。

车源管理:

包括车辆信息的删除,添加,修改等,管理员能够向数据库中发布车辆信息,包括车辆的车型,价格,车主等信息。

车源信息查找

用户可以在窗口上直接浏览车辆基本信息,也可以按照不同的要求方式对车辆信息进行查询,这样用户可以方便的找到自己想要的车源,人性化的查找方式为用户带来了极大的便利。

四、系统解决的问题



本系统主要完成前台浏览(用户注册,信息修改,车辆浏览),后台管理(车辆信息的录入,管理员登录)等功能。通过以上功能实现简单,便捷的租车系统。


车辆浏览:所有人都可以操作,顾客可以随意浏览车辆信息,按照车辆的序号排序,在点击按钮后,可以在表格中显示出可以租用车辆的信息,可以让用户选择。

车辆租用:顾客在浏览车辆信息后,可以根据自身需求选择所需租用的车辆,输入车辆的序号后,点击确定按钮,可以成功租用车辆,并且该车辆是否被租用的信息会自动更改为已被租用,如果用户租用已被租用的车辆则租用失败,无法租用成功。

车辆管理:该功能只能由管理员完成,由管理员完成对车辆信息的录入包括录入车辆的车主,价格,是否被租用等信息,并可以删除车辆信息。

会员管理:该功能由管理员完成,管理员可以注册其他的用户帐号,并将帐号密码录入数据库中。

1e62d05df439914048f907d67be5e32.png



五、数据库设计

c8abc6b8a3c2a4501c3cbeadc8b6b0b.png



六、运行结果


be7f830f772b7afda4a27704bfb6ded.png


5bfd4c6b3a39298723a7575f7d07348.png


e099ab4b41b8bf718eb64fbc133b005.png

318ad267f447225706178e13fd095f5.png



以下部分代码请忽略


public void connDB() { // 连接数据库
    try {
      Class.forName("com.mysql.jdbc.Driver");//注册驱动
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    try {//创建连接
      con = DriverManager.getConnection(DbUtil.dbUrlString, DbUtil.dbUser, DbUtil.dbpassword);
      stmt = con.createStatement();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
  public void closeDB() // 关闭连接
  {
    try {
      stmt.close();
      con.close();
    } 
    catch (SQLException e) {
      e.printStackTrace();
    }
  }
  @Override
  public void actionPerformed(ActionEvent e)
 {
    Object source = e.getSource();
    String username = null;
    String user_password = null; 
    int success = 1;//如果已经存在了此账号,则赋值为0,作为进入创建账号方法的进入条件
    if(source == buttonOfZhuce)
    {
      if (field1.getText().equals("") || field2.getText().equals("")||field3.getText().equals("") )
      {// 判断是否输入了用户名和密码
        JOptionPane.showMessageDialog(null, "请填写完整!");
      }
      else//密码账号都不为空后
      {
        try {
            this.connDB();
            String sql = "select * from user where username ='"+field1.getText()+"'";
            rs = stmt.executeQuery(sql);
            if(rs.next())
            {
              JOptionPane.showMessageDialog(null, "此账号已经存在!");
              field1.setText("");
              success = 0;
              this.closeDB();
            }
          } catch (HeadlessException e2) {
            e2.printStackTrace();
          } catch (SQLException e2) {
            e2.printStackTrace();
          }//这个trycatch模块用来判断  创建账号之前数据库有没有此账号!,如果有 success = 0,就进入不了下面创建账号的语句
        if(field2.getText().equals(field3.getText())&&success==1)
        {
          String str = "insert into user values('" + field1.getText() + "','" +field2.getText()+"')";
          try {
            stmt.executeUpdate(str);
          } catch (SQLException e1) {
            e1.printStackTrace();
          }
          JOptionPane.showMessageDialog(null, "注册成功!");
          this.dispose();
          new Login();
        }
        else
        {
          this.closeDB();
          if(success == 1)
          {
            JOptionPane.showMessageDialog(null,"两次输入的密码不匹配!" );
          }
        }    
      }
    }
    else if(source == buttonOfFanhui)
    {
      this.dispose();
      new Login();
    }
  }
}


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
122 13
|
4月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
|
6月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
9月前
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
9月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
363 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
10月前
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
188 9
|
11月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
732 26
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
142 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
160 1

推荐镜像

更多
下一篇
oss云网关配置