package whsdu.se.util;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import javax.swing.JOptionPane;
import whsdu.se.vo.*;
public class DBUtil {
protected static String dbClassName = "com.mysql.cj.jdbc.Driver";//数据库连接驱动类
protected static String dbUrl = "jdbc:mysql://localhost:3306/swing_parking?serverTimezone=UTC";//数据库连接URL
protected static String dbUser = "root"; //数据库用户名
protected static String dbPwd = "admin"; //数据库密码
private static Connection conn = null; //数据库连接对象
private DBUtil() { //默认构造函数
try {
if (conn == null) { //如果连接对象为空
Class.forName(dbClassName); //加载驱动类
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//获得连接对象
}
} catch (Exception ee) {
ee.printStackTrace();
}
}
private static ResultSet executeQuery(String sql) { //查询方法
try {
if(conn==null) new DBUtil(); //如果连接对象为空,则重新调用构造方法
return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE).executeQuery(sql);//执行查询
} catch (SQLException e) {
e.printStackTrace();
return null; //返回null值
} finally {
}
}
private static int executeUpdate(String sql) { //更新方法
try {
if(conn==null) new DBUtil(); //如果连接对象为空,则重新调用构造方法
return conn.createStatement().executeUpdate(sql);//执行更新
} catch (SQLException e) {
e.printStackTrace();
return -1;
} finally {
}
}
public static void close() {//关闭方法
try {
conn.close();//关闭连接对象
} catch (SQLException e) {
e.printStackTrace();
}finally{
conn = null; //设置连接对象为null值
}
}
/*
* 登录方法
*/
public static Users check(String name, String password) {
Users user=new Users();//操作员信息对象
String sql = "select * from users where name= '" + name+ "' and password='" + password+"'";//查询字符串
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {
while(rs.next()) {//如果查询到了记录
user.setCardid(rs.getInt("cardid"));
user.setName(rs.getString("name")) ;
user.setUserstype(rs.getString("userstype")) ;
user.setPassword(rs.getString("password"));
user.setCardtype(rs.getString("cardtype"));
user.setCarid(rs.getInt("carid"));
user.setOverage(rs.getInt("overage"));
user.setTel(rs.getInt("tel"));
}
} catch (SQLException e){
e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return user;//返回操作员信息对象
}
/*
*查询计费标准
* */
public static Charger searchcharge(String sql){
Charger charger = new Charger();//计费标准对象
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {
while(rs.next()) {//如果查询到了
charger.setCardtype(rs.getString("cardtype"));//设置计费标准卡的类型
charger.setCharge(rs.getInt("charge"));//设置计费标准单价
charger.setStationtype(rs.getString("stationtype"));//设置计费标准车位类型
}
} catch (SQLException e){
e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return charger;//返回计费标准对象
}
/*
* 查询用户个人信息
* */
public static Users searchcominfo(String sql){
Users user = new Users();//用户对象
ResultSet rs = DBUtil.executeQuery(sql);
try {
while(rs.next()) {
user.setCardid(rs.getInt("cardid"));
user.setName(rs.getString("name")) ;
user.setUserstype(rs.getString("userstype")) ;
user.setPassword(rs.getString("password"));
user.setCardtype(rs.getString("cardtype"));
user.setCarid(rs.getInt("carid"));
user.setOverage(rs.getInt("overage"));
user.setTel(rs.getInt("tel"));
}
} catch (SQLException e){
e.printStackTrace();
}
DBUtil.close();
return user;
}
/*
* 实现出入场查询
*
* */
public static int count(String sql){
int i = 0;
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {
while(rs.next()) {//如果查询到了
i = rs.getInt(1);//得到count
}
} catch (SQLException e){
e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return i ; //返回i
}
/*
*
* 实现普通用户注册
*
* */
public static int comzhuce(int cardid,String name,String password,String cardtype,int overage,int tel,int carid){
int i=0;
try{
String sql="insert users(cardid,name,password,cardtype,overage,tel,carid,userstype) values("+cardid+",'"+name+"','"+password+"','"+cardtype+"',"+overage+","+tel+","+carid+",'普通用户')";//将用户信息插入数据库中
i=DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
return i;
}
/*
*
* 实现管理员注册
*
* */
public static int manzhuce(int cardid,String name,String password){
int i=0;
try{
String sql="insert users(cardid,name,password,userstype) values("+cardid+",'"+name+"','"+password+"',"+"'管理员')";//将管理员信息插入到数据库中
i=DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
return i;
}
/*
* 收费标准修改
*
*
* */
public static void gaicharge(String sql){
try{
DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
return ;
}
/*
* 充值
* */
public static void chongzhi(String sql){
try{
DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
return ;
}
/*
* 车位查询
* */
public static Sitinfor chewei(String sql){
Sitinfor sit = new Sitinfor();//车位信息对象
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {
while(rs.next()) {//如果查询到了
sit.setStationid(rs.getInt("stationid"));
sit.setStationtype(rs.getString("stationtype"));
}
} catch (SQLException e){
e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return sit;
}
/*
* 当前可用车位信息
* */
public static List nowstation(){
List list=new ArrayList();
String sql= "select stationid,stationtype from station where stationid not in (select distinct stationid from park where endpark is null)";//查询当前可用车位的信息
ResultSet rs=DBUtil.executeQuery(sql);
try {
while(rs.next()){
Sitinfor sit = new Sitinfor();//车位信息对象
sit.setStationid(rs.getInt("stationid"));//设定车位信息的车位号
sit.setStationtype(rs.getString("stationtype"));//设定车位信息的车位类型
list.add(sit);//将查询得到的车位信息加入到ArrayList()中
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return list;
}
/*
* 车辆入场
*
*/
public static int parkin(int cardid,int stationid,String stationtype,String startpark){
int i=0;
try{
String sql="insert into park(cardid,stationid,stationtype,startpark) values("+cardid+","+stationid+",'"+stationtype+"','"+startpark+"')";//将入场车辆信息插入到数据库中
i=DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
System.out.print(1);
}
return i;
}
/*
* 更改密码
* */
public static int Updatepass(String password,String name){
int i=0;
try{
String sql="update users set password='"+password+"' where name='"+name+"'";//更新数据库中的用户密码
i=DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
DBUtil.close();
return i;
}
/*
* 出场
*
* */
public static void Updatepark(String endpark,int fee,int sumpark,int cardid,String startpark){
try{
String sql = "update park set endpark = '"+endpark+"' ,sumpark = "+sumpark +",fee ="+ fee +" where cardid ="+ cardid+" and startpark ='" +startpark+"'";
DBUtil.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
DBUtil.close();
}
//在出场时,用于更新用户的余额
public static void Updateoverage(int cardid,int overage){
try{
String sql = "update users set overage = "+overage +" where cardid = "+cardid;
DBUtil.executeUpdate(sql);
}catch(Exception e){
e.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论


















收起资源包目录




































































































共 79 条
- 1


水坚石青
- 粉丝: 2w+
- 资源: 83

下载权益

C知道特权

VIP文章

课程特权

开通VIP
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
最新资源
- python入门奶牛问题
- android compose 从入门到精通 新手必备
- mybatis-plus 增删改查模板
- 计算机专业毕业设计源码-VB+access智能排课系统(源代码+可执行程序+答辩PPT)-基于VB-IT毕设源码.zip
- 计算机专业毕业设计源码-VB+ACCESS智能公交考勤系统管理软件设计-基于VB-IT毕设源码.zip
- WebSpider蓝蜘蛛网页抓取 v5.1-webspider.zip
- android studio 学生信息管理系统实现源码(安卓开发教程课后练习)
- 一个非常好用的基于ChatGPT4的工具
- 基于单片机的实验室温度监控系统设计
- 边沿检测(上升沿检测、下降沿检测、双边沿检测-verilog代码-Testbench-RTL电路图-仿真结果)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
- 5
- 6
前往页