javaweb实现停车场收费管理系统
需要的联系QQ:2248557717(收费的)
项目演示地址:演示地址【已经过期,没钱续费】
这是我们javaweb的课程设计,历时2周完成
设计思想
该系统采用了B/S架构,Tomcat9.0作为运行服务yanshi器,基于javaEE标准,以IntelliJ IDEA作为开发环境,数据库采用了MySQL8.0。开发过程利用了MVC开发模式和JSP+JavaBean+Servlet开发模式,该模式便于开发人员设计代码和后期维护,且这三个逻辑可以同时进行,提高了效率,节省了时间,层次分明,结构清晰。
登陆界面
主界面
核心代码
SQLUtil类
package DBUtil;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class SQLUtil {//执行非查询语句(delete、update、insert)public static int executeNonQuery(String sqlCmd, Object[] objList) {Connection conn = null;//数据库连接对象Statement sm = null;//可执行sql语句的Statement对象int result = -1;//返回结果,-1为数据操作失败,非-1为操作成功try {conn = DBUtil.ConnectionFactory.getConnection();//获取数据库连接对象if (objList != null)//判断是否有传入参数(也就是判断 Object[] objList 是否为空){PreparedStatement pStatement = conn.prepareStatement(sqlCmd);//创建可执行带参数SQL命令 pStatement对象//对参数进行赋值for (int i = 0; i < objList.length; i++) {pStatement.setObject(i + 1, objList[i]);//获取传入参数的值}result = pStatement.executeUpdate();//执行相应命令} else {//采用字符串拼接方式conn = DBUtil.ConnectionFactory.getConnection();//获取数据库连接对象sm = conn.createStatement();//创建可执行sql语句的Statement对象result = sm.executeUpdate(sqlCmd);//执行相应sql命令,返回更新的条数}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.CloseFactory.close(conn, sm);//关闭相应资源return result;//如果操作成功,返回的是被影响的行数,否则返回-1,操作失败}}@SuppressWarnings("finally")//执行查询操作 返回List型的数据集合 (如select *from table/select name,age from table)public static List<Object> executeQuery(String sqlCmd, Object[] objList) {Connection conn = null;Statement sm = null;ResultSet rSet = null;List<Object> list = new ArrayList<Object>();try {conn = DBUtil.ConnectionFactory.getConnection();//获取数据库连接对象if (objList != null)//判断是否有参数传入{PreparedStatement pStatement = conn.prepareStatement(sqlCmd);//生成PreparedStatement,用于执行T-SQL命令for (int i = 0; i < objList.length; i++) {pStatement.setObject(i + 1, objList[i]);//填充占位符}rSet = pStatement.executeQuery();//执行查询命令,返回ResultSetResultSetMetaData rsmdData = rSet.getMetaData();//得到结果集的结构信息int column = rsmdData.getColumnCount();//获取返回的单条数据的字段数目while (rSet.next()) {Object[] object = new Object[column];//对象数值,用于作为获取单条数据的载体for (int i = 1; i <= column; i++) {object[i - 1] = rSet.getObject(i);}list.add(object);//将获取的数据添加到集合中}} else {System.out.println("我进入空的之中了");//conn=DBUtil.ConnectionFactory.getConnection();//获取数据库连接对象sm = conn.createStatement();//创建Statement对象rSet = sm.executeQuery(sqlCmd);//执行查询查询命令System.out.println("rSet =" + rSet);ResultSetMetaData rsmdData = rSet.getMetaData();int column = rsmdData.getColumnCount();//获取单条数据中属性个数(如 select name,age from employee)属性为:name,agewhile (rSet.next()) {Object[] object = new Object[column];for (int i = 1; i <= column; i++) {object[i - 1] = rSet.getObject(i);}list.add(object);//将相应数据添加到集合中}}} catch (Exception e) {e.printStackTrace();list = null;} finally {DBUtil.CloseFactory.close(conn, sm, rSet);return list;}}//执行标量操作,返回首行首列的数据 select count(*) from table/select name from tablepublic static Object excuteScalar(String sqlCmd, Object[] objList) {Connection conn = null;Statement sm = null;ResultSet rSet = null;Object obj = null;try {conn = DBUtil.ConnectionFactory.getConnection();if (objList != null) {PreparedStatement pStatement = conn.prepareStatement(sqlCmd);for (int i = 0; i < objList.length; i++) {pStatement.setObject(i + 1, objList[i]);//给SQL语句的占位符赋值的,}rSet = pStatement.executeQuery();while (rSet.next()) {obj = rSet.getObject(1);break;}} else {conn = DBUtil.ConnectionFactory.getConnection();sm = conn.createStatement();rSet = sm.executeQuery(sqlCmd);while (rSet.next()) {obj = rSet.getObject(1);break;}}} catch (Exception e) {e.printStackTrace();} finally {CloseFactory.close(conn, sm, rSet);return obj;}}
}
ConnectionFactory类
package DBUtil;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class ConnectionFactory {private static String user;private static String pwd;private static String url;private static String driver;static {InputStream iStream = ConnectionFactory.class.getClassLoader().getResourceAsStream("DBUtil/db.properties");//读取db.properties配置文件Properties prop = new Properties();try {prop.load(iStream);user = prop.getProperty("user");//获取配置文件中的user对应的值pwd = prop.getProperty("pwd");//获取配置文件中的pwd对应的值url = prop.getProperty("url");//获取配置文件中的url对应的值driver = prop.getProperty("driver");//获取配置文件中的driver对应的值} catch (Exception e) {e.printStackTrace();}}public static Connection getConnection() {Connection conn = null;try {Class.forName(driver);//数据库驱动注册conn = DriverManager.getConnection(url, user, pwd);//获取数据库链接对象} catch (Exception e) {e.printStackTrace();}return conn;}
}
CloseFactory类
package DBUtil;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
//方法重载
public class CloseFactory {//关闭Connection conn,Statement smpublic static void close(Connection conn, Statement sm) {close(conn);close(sm);}//关闭Connection conn,Statement sm,ResultSet rspublic static void close(Connection conn, Statement sm, ResultSet rs) {close(conn);close(sm);close(rs);}//关闭数据库链接对象public static void close(Connection conn) {try {if (conn != null) {conn.close();}} catch (Exception e) {e.printStackTrace();}}//关闭Statement对象public static void close(Statement sm) {try {if (sm != null) {sm.close();}} catch (Exception e) {e.printStackTrace();}}//关闭ResultSet对象public static void close(ResultSet rs) {try {if (rs != null) {rs.close();}} catch (Exception e) {e.printStackTrace();}}}
db.properties保存用于数据库连接的文件
user=root
pwd=1855010107
url=jdbc:mysql://127.0.0.1:3306/park_car?serverTimezone=GMT%2B8
driver=com.mysql.cj.jdbc.Driver
数据库设计
用户表:存储用户信息。
角色表:存储角色信息。‘
车位管理表:管理车位信息和车位状态。
车辆记录表:记录车辆进出信息和消费记录。
javaweb实现停车场收费管理系统相关推荐
- 计算机毕业论文java毕业设计选题基于javaweb的停车场收费管理系统[包运行成功]
- java停车管理系统中期检查_java毕业设计_springboot框架的停车场收费管理系统
这是一个基于java的毕业设计项目,毕设课题为springboot框架的停车场收费管理系统, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jsp+s ...
- winform停车场收费管理系统VS开发sqlserver数据库CS结构c#编程源码程序
一.源码特点 winform停车场收费管理系统是一套完善的桌面程序,设计管理系统,系统具有完整的代码数据库,系统主要采用B/S模式开发. 应用技术:winform c#+sqlserve ...
- [附源码]java毕业设计停车场收费管理系统
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 停车场收费管理系统/停车场管理系统的设计与实现
目 录 摘 要 ABSTRACT 目 录 第1章 绪论 1.1背景及意义 1.2 国内外研究概况 1.3 研究的内容 第2章 相关技术 2.1 JSP技术介绍 2.2 SSM三大框架 2.3 MyE ...
- JAVA计算机毕业设计停车场收费管理系统(附源码、数据库)
JAVA计算机毕业设计停车场收费管理系统(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...
- [附源码]SSM计算机毕业设计停车场收费管理系统JAVA
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 基于Java Web的智能停车场收费管理系统
大家好,最近在网上又找到了一个学习项目,在此写一篇博文记录一下,在java项目的专栏中我会持 续的更新在网上获取到的java学习项目,这个专栏是我的项目收集专栏吧.在博文中我也会陆续的加入项目的演示视 ...
- java-php-python-ssm停车场收费管理系统计算机毕业设计
java-php-python-ssm停车场收费管理系统计算机毕业设计 java-php-python-ssm停车场收费管理系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...
最新文章
- arcengine遍历属性表_【程序之坑】小程序云开发导出数据到excel表
- 比可微架构搜索DARTS快10倍,第四范式提出优化NAS算法
- load generator 与ip Spoofer的区别
- 73 Zabbix 微信告警
- Python_day4
- c#中的socket(tcp)
- JavaScript中的逗号运算符
- excel二次开发c语言,用VBA进行Excel二次开发
- ASP.NET--邮件发送
- Linux 查看网络速率
- 2021华为软挑赛题_思路分析——实时更新,做多少更多少(七)
- Java 员工信息管理系统
- 汇编版|电子印章在各类业务文件中的应用
- 【LOL】小龙刷新机制
- Delphi 简体 繁体 转换
- 【蓝桥杯】真题训练 2014年C++A组 题4 史丰收速算
- 基于hyperleger fabric区块链的校园化妆品交易平台搭建
- 2022年危险化学品经营单位安全管理人员考试模拟100题及模拟考试
- 上升沿判断语句_股票上升趋势中回调买入技巧,强势股顺势横盘突破买入法
- [从头读历史] 第257节 孔子和他的《春秋》 [BC537至BC479]