基于控制台实现简易的餐厅管理系统,主要运用java se + mySQL 实现!
目录
一、建立三个实体类
二、创建三个接口
三、创建三个接口实现类
四、创建一个测试类
五、添加一个JDBC的工具类
package com.sys.rms.model;
//用户类:用户id,用户姓名,用户密码,用户的菜品,消费金额
public class User {
private int uid; //用户id
private String uname; //用户姓名
private String passwd; //用户密码
//无参构造方法
public User() {
}
//有参构造方法
public void setvalues(int uid, String uname, String passwd) {
this.uid = uid;
this.uname = uname;
this.passwd = passwd;
}
//get()和set()方法
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
//返回数据,toString方法
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", uname='" + uname + '\'' +
", passwd='" + passwd + '\'' + '}';
}
}
package com.sys.rms.model;
//菜品类:菜品id,菜品类型,菜品名称,菜品单价,菜品剩余分量
public class Food {
//定义
private int fid; //菜品id
private String ftype; //菜品类型
private String fname; //菜品名称
private double fprice; //菜品单价,
//无参构造方法
public Food() {
}
//有参构造方法
public Food(int fid, String ftype, String fname, double fprice) {
this.fid = fid;
this.ftype = ftype;
this.fname = fname;
this.fprice = fprice;
}
//get()和set()方法
public int getFid() {
return fid;
}
public void setFid(int fid) {
this.fid = fid;
}
public String getFtype() {
return ftype;
}
public void setFtype(String ftype) {
this.ftype = ftype;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public double getFprice() {
return fprice;
}
public void setFprice(double fprice) {
this.fprice = fprice;
}
//返回数据,toString方法
@Override
public String toString() {
return "Food{" +
"fid=" + fid +
", ftype='" + ftype + '\'' +
", fname='" + fname + '\'' +
", fprice=" + fprice +
", fnum=" + '}';
}
}
package com.sys.rms.model;
//订单类: 用户id,用户名,点菜列表,总金额,支付方式
public class Order {
private int oid;
private String oname;
private String ocontent;
private double oamount;
private String payway;
//无参构造方法
public Order() {
}
//get()和set()方法
public Order(int oid, String oname, String ocontent, double oamount, String payway) {
this.oid = oid;
this.oname = oname;
this.ocontent = ocontent;
this.oamount = oamount;
this.payway = payway;
}
public int getOid() {
return oid;
}
public void setOid(int oid) {
this.oid = oid;
}
public String getOname() {
return oname;
}
public void setOname(String oname) {
this.oname = oname;
}
public String getOcontent() {
return ocontent;
}
public void setOcontent(String ocontent) {
this.ocontent = ocontent;
}
public double getOamount() {
return oamount;
}
public void setOamount(double oamount) {
this.oamount = oamount;
}
public String getPayway() {
return payway;
}
public void setPayway(String payway) {
this.payway = payway;
}
//返回数据,toString方法
@Override
public String toString() {
return "Order{" +
"oid=" + oid +
", oname='" + oname + '\'' +
", ocontent='" + ocontent + '\'' +
", oamount=" + oamount +
", payway='" + payway + '\'' +
'}';
}
}
package com.sys.rms.dao;
import com.sys.rms.model.Food;
import com.sys.rms.model.User;
import java.util.List;
public interface UserDao {
//注册方法
public boolean register(User user) throws Exception;
//登录方法
public boolean login(User user) throws Exception;
//查看并修改密码
public void modify(User user) throws Exception;
//点菜
public void chooseOrder(User user) throws Exception;
//加菜
public void addChooseOrder(User user) throws Exception;
//买单
public boolean payment(User user) throws Exception;
}
package com.sys.rms.dao;
import com.sys.rms.model.Food;
import java.util.List;
public interface FoodDao {
//查看全部菜品
public void showFood() throws Exception;
//分类查看菜品
public void typeShow() throws Exception;
//菜品搜索
public void search() throws Exception;
}
package com.sys.rms.dao;
import com.sys.rms.model.Food;
import com.sys.rms.model.Order;
import com.sys.rms.model.User;
import java.util.List;
public interface AdminDao {
//菜品增加
public void addFood() throws Exception;
//菜品删除
public void delFood() throws Exception;
//修改菜品价格
public void modFoodPrice() throws Exception;
//查看所有订单
public void showOrder() throws Exception;
}
package com.sys.rms.daoImpl;
import com.sun.org.apache.xpath.internal.operations.Or;
import com.sun.xml.internal.ws.addressing.WsaActionUtil;
import com.sys.rms.dao.UserDao;
import com.sys.rms.model.Food;
import com.sys.rms.model.Order;
import com.sys.rms.model.User;
import com.sys.rms.util.JDBCUtilss;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class UserDaoImpl implements UserDao {
Scanner scanner = new Scanner(System.in);
User user = new User();
Food food = new Food();
//注册用户
@Override
public boolean register(User user) throws Exception {
Connection conn=null;
int num=0;
String sql;
boolean flag=true;
try {
//创建一个新的数据库连接
conn = JDBCUtilss.getConnection();
//编写sql代码
sql="insert into rms.ruser(uid,uname,upasswd) values(?,?,?)";
//调用更新数据库的方法
num=JDBCUtilss.executeUpdate(sql,user.getUid(),user.getUname(),user.getPasswd());
//判断是否注册成功
if (num!=1) {
flag=false;
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
return flag;
}
//登录用户
@Override
public boolean login(User user) throws Exception {
Connection conn=null; //链接
ResultSet rs=null; //查询的数据
String sql=null;
boolean flag=true;
try {
//创建一个新的数据库连接
conn = JDBCUtilss.getConnection();
//编写sql代码
sql="SELECT uname,upasswd FROM rms.ruser where uid=? and upasswd=?";
//查询数据库的方法
rs=JDBCUtilss.executeQuery(sql, user.getUid(),user.getPasswd());
User user1=new User();
while(rs.next()){
user1.setPasswd(rs.getString("upasswd"));
}
//判断是否登录成功
if (user1.getPasswd()==null) {
flag=false;
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
return flag;
}
//修改账户或者密码
@Override
public void modify(User user) throws Exception {
Connection conn=null;
int rs;
String sql;
System.out.println("请输入新密码:必须6位");
String pw = scanner.next();
if(pw.length()!=6) {
System.out.println("修改密码失败......");
return;
}
try {
conn=JDBCUtilss.getConnection();
sql="update rms.ruser set upasswd=? where uid =?";
rs=JDBCUtilss.executeUpdate(sql,pw,user.getUid());
if (rs!=1) {
System.out.println("修改密码失败......");
} else {
System.out.println("修改密码成功......");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
}
//点菜
@Override
public void chooseOrder(User user) throws Exception {
Connection conn=null;
ResultSet rs=null; //差寻的数据
int num=0;
String sql;
String ocontent = "";
double oamount = 0;
//创建一个新的数据库连接
try{
conn = JDBCUtilss.getConnection();
System.out.println("开始点菜.....");
for (int i = 1; ; i++) {
System.out.println("请输入菜品编号:");
int fnum1 = scanner.nextInt();
if (fnum1 == -1 ) {
System.out.println("点菜完成.....");
break;
}
System.out.println("请输入数量:");
int fnum2 = scanner.nextInt();
if ( fnum2 == -1) {
System.out.println("点菜完成.....");
break;
}
if (fnum1 <= 0 && fnum2 >= 1) {
System.out.println("请输入有效菜品编号和数量");
continue;
}
//编写sql代码
sql = "select fname,fprice FROM rms.rfood where fid = ? ";
rs = JDBCUtilss.executeQuery(sql, fnum1);
while (rs.next()) {
ocontent = ocontent.concat(rs.getString("fname").concat(":").concat(rs.getString("fprice")).concat("元/份,").concat(String.valueOf(fnum2)).concat("份;"));
oamount = oamount + rs.getDouble("fprice") * fnum2;
System.out.println("已点菜品:"+ocontent);
System.out.println("已点菜品总金额为:"+oamount);
}
System.out.println("继续点菜,点菜完成输入-1");
}
} finally {
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
try {
//创建一个新的数据库连接
conn = JDBCUtilss.getConnection();
//编写sql代码
sql="insert into rms.rorder(uid,uname,ocontent,oamount,payway) values(?,?,?,?,?)";
//调用更新数据库的方法
num=JDBCUtilss.executeUpdate(sql,user.getUid(),user.getUname(),ocontent,oamount,"null");
//判断是否更新成功
if (num!=1) {
System.out.println("点菜失败.....");
} else {
System.out.println("点菜成功.....");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
}
//加菜
@Override
public void addChooseOrder(User user) throws Exception {
Connection conn=null;
ResultSet rs=null; //查询的数据
int num=0;
String sql;
String ocontent = "";
double oamount = 0;
//创建一个新的数据库连接
try{
conn = JDBCUtilss.getConnection();
System.out.println("开始加菜......");
for (int i = 1; ; i++) {
System.out.println("请输入菜品编号:");
int fnum1 = scanner.nextInt();
if (fnum1 == -1 ) {
System.out.println("加菜完成.....");
break;
}
System.out.println("请输入数量:");
int fnum2 = scanner.nextInt();
if (fnum2 == -1) {
System.out.println("加菜完成.....");
break;
}
if (fnum1 > 51 && fnum2 >= 1) {
System.out.println("请输入有效菜品编号和数量");
continue;
}
//编写sql代码
sql = "select fname,fprice FROM rms.rfood where fid = ? ";
rs = JDBCUtilss.executeQuery(sql, fnum1);
while (rs.next()) {
ocontent = ocontent.concat(rs.getString("fname").concat(":").concat(rs.getString("fprice")).concat("元/份,").concat(String.valueOf(fnum2)).concat("份;"));
oamount = oamount + rs.getDouble("fprice") * fnum2;
System.out.println("已增加菜品:"+ocontent);
System.out.println("已增加菜品总金额为:"+oamount);
}
System.out.println("继续加菜,加菜完成输入-1");
}
} finally {
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
try {
//创建一个新的数据库连接
conn = JDBCUtilss.getConnection();
//编写sql代码
sql="select ocontent,oamount FROM rms.rorder where uid = ?";
rs=JDBCUtilss.executeQuery(sql,user.getUid());
while(rs.next()){
ocontent = rs.getString("ocontent").concat(ocontent);
oamount = rs.getDouble("oamount")+oamount;
}
sql="update rms.rorder set ocontent = ?,oamount = ? where uid = ?";
//调用更新数据库的方法
num=JDBCUtilss.executeUpdate(sql,ocontent,oamount,user.getUid());
//判断是否更新成功
if (num!=1) {
System.out.println("加菜失败.....");
} else {
System.out.println("加菜成功.....");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
}
//买单
@Override
public boolean payment(User user) throws Exception {
Connection conn=null;//链接
ResultSet rs=null; //差寻的数据
String sql=null;
int num=0;
boolean flag=true;
List list=new ArrayList();
try {
//创建一个新的数据库连接
conn = JDBCUtilss.getConnection();
//编写sql代码
sql="SELECT uid,uname,ocontent,oamount FROM rms.rorder where uid= ?";
//查询数据库的方法
rs=JDBCUtilss.executeQuery(sql, user.getUid());
Order order = new Order();
while(rs.next()){
order.setOid(rs.getInt("uid"));
order.setOname(rs.getString("uname"));
order.setOcontent(rs.getString("ocontent"));
order.setOamount(rs.getDouble("oamount"));
list.add(order);
}
if (order.getOamount() >0 && order.getOcontent() != null) {
for (Order tmp: list) {
System.out.println(tmp);
}
System.out.println("正在出单....");
System.out.println("您一共消费:"+order.getOamount());
System.out.println("请选择支付方式:1.微信;2支付宝;3银行卡");
int n = scanner.nextInt();
if (n == 1) {
order.setPayway("微信支付");
}else if (n == 2){
order.setPayway("支付宝支付");
} else if (n == 3){
order.setPayway("银行卡支付");
}
sql="update rms.rorder set payway=? where uid = ?";
//调用更新数据库的方法
num=JDBCUtilss.executeUpdate(sql,order.getPayway(),user.getUid());
//判断是否更新成功
if (num!=1) {
System.out.println(order.getPayway()+"买单失败......");
} else {
System.out.println(order.getPayway()+"买单成功......");
}
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
return false;
}
}
package com.sys.rms.daoImpl;
import com.sys.rms.dao.FoodDao;
import com.sys.rms.model.Food;
import com.sys.rms.util.JDBCUtilss;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FoodImpl implements FoodDao {
Scanner scanner = new Scanner(System.in);
//查看菜品
@Override
public void showFood() throws Exception {
Connection conn=null;
ResultSet rs=null;
String sql;
List list=new ArrayList();
try {
conn= JDBCUtilss.getConnection();
sql="select * from rms.rfood";
rs=JDBCUtilss.executeQuery(sql);
while(rs.next()){
Food food = new Food();
food.setFid(rs.getInt("fid"));
food.setFtype(rs.getString("ftype"));
food.setFname(rs.getString("fname"));
food.setFprice(rs.getDouble("fprice"));
list.add(food);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
for (Food tmp : list) {
System.out.println(tmp);
}
}
//分类查看菜品
@Override
public void typeShow() throws Exception {
Connection conn=null;
ResultSet rs=null;
String sql;
List list=new ArrayList();
System.out.println("请输入菜品类型:(包括凉菜、热菜、鲜汤、米饭)");
String type = scanner.next();
try {
conn= JDBCUtilss.getConnection();
sql="select * from rms.rfood where ftype = ?";
rs=JDBCUtilss.executeQuery(sql,type);
while(rs.next()){
Food food = new Food();
food.setFid(rs.getInt("fid"));
food.setFtype(rs.getString("ftype"));
food.setFname(rs.getString("fname"));
food.setFprice(rs.getDouble("fprice"));
list.add(food);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
for (Food tmp : list) {
System.out.println(tmp);
}
}
//搜索菜品
@Override
public void search() throws Exception {
Connection conn=null;
ResultSet rs=null;
String sql;
List list=new ArrayList();
System.out.println("请输入菜品名称");
String type = scanner.next();
try {
conn= JDBCUtilss.getConnection();
sql="select * from rms.rfood where fname like \"%\"?\"%\"";
rs=JDBCUtilss.executeQuery(sql,type);
while(rs.next()){
Food food = new Food();
food.setFid(rs.getInt("fid"));
food.setFtype(rs.getString("ftype"));
food.setFname(rs.getString("fname"));
food.setFprice(rs.getDouble("fprice"));
list.add(food);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
for (Food tmp : list) {
System.out.println(tmp);
}
}
}
package com.sys.rms.daoImpl;
import com.sys.rms.dao.AdminDao;
import com.sys.rms.model.Food;
import com.sys.rms.model.Order;
import com.sys.rms.model.User;
import com.sys.rms.util.JDBCUtilss;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class AdminDaoImpl implements AdminDao {
Food food = new Food();
Scanner scanner = new Scanner(System.in);
//添加菜品
@Override
public void addFood() throws Exception {
Connection conn=null;
int num=0;
String sql;
boolean flag=true;
System.out.println("菜品编号:");
food.setFid(scanner.nextInt());
System.out.println("菜品类型:");
food.setFtype(scanner.next());
System.out.println("菜品名称:");
food.setFname(scanner.next());
System.out.println("菜品单价");
food.setFprice(scanner.nextDouble());
try {
//创建一个新的数据库连接
conn = JDBCUtilss.getConnection();
//编写sql代码
sql="insert into rms.rfood(fid,ftype,fname,fprice) values(?,?,?,?)";
//调用更新数据库的方法
num=JDBCUtilss.executeUpdate(sql,food.getFid(),food.getFtype(),food.getFname(),food.getFprice());
//判断是否添加成功
if (num == 1) {
System.out.println("添加菜品成功....");
}else {
System.out.println("添加菜品失败....");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
}
//删除菜品
@Override
public void delFood() throws Exception {
Connection conn=null;
int rs;
String sql;
System.out.println("删除的菜品编号:");
int num = scanner.nextInt();
try {
conn=JDBCUtilss.getConnection();
sql="delete from rms.rfood where fid = ?";
rs=JDBCUtilss.executeUpdate(sql,num);
if (rs!=1) {
System.out.println("删除失败.....");
} else {
System.out.println("删除成功.....");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
}
//修改单价
@Override
public void modFoodPrice() throws Exception {
Connection conn=null;
int rs;
String sql;
System.out.println("菜品编号:");
int num = scanner.nextInt();
System.out.println("单价:");
double price = scanner.nextDouble();
try {
conn=JDBCUtilss.getConnection();
sql="update rms.rfood set fprice = ? where fid = ?";
rs=JDBCUtilss.executeUpdate(sql,price,num);
if (rs!=1) {
System.out.println("修改单价失败.....");
} else {
System.out.println("修改单价成功.....");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
sql=null;
JDBCUtilss.closeAll(conn,null,null);
}
}
//查看所有订单
@Override
public void showOrder() throws Exception {
Connection conn=null;
ResultSet rs=null;
String sql;
List list=new ArrayList();
try {
conn= JDBCUtilss.getConnection();
sql="select * from rms.rorder";
rs=JDBCUtilss.executeQuery(sql);
while(rs.next()){
Order order = new Order();
order.setOid(rs.getInt("uid"));
order.setOname(rs.getString("uname"));
order.setOcontent(rs.getString("ocontent"));
order.setOamount(rs.getDouble("oamount"));
order.setPayway(rs.getString("payway"));
list.add(order);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
sql=null;
JDBCUtilss.closeAll(conn,null,rs);
}
for (Order tmp : list) {
System.out.println(tmp);
}
}
}
实现逻辑:Home.java
package com.sys.rms.test;
import com.sys.rms.dao.AdminDao;
import com.sys.rms.dao.FoodDao;
import com.sys.rms.dao.UserDao;
import com.sys.rms.daoImpl.AdminDaoImpl;
import com.sys.rms.daoImpl.FoodImpl;
import com.sys.rms.daoImpl.UserDaoImpl;
import com.sys.rms.model.User;
import java.util.Scanner;
public class Home {
public static void main(String[] args) throws Exception {
UserDao userDao = new UserDaoImpl();
AdminDao adminDao = new AdminDaoImpl();
FoodDao foodDao = new FoodImpl();
User user = new User();
Scanner scanner = new Scanner(System.in);
System.out.println("-----欢迎来到山海餐厅------");
System.out.println("请选择: 1,普通用户; 2,管理员");
int usertype = scanner.nextInt();
if (usertype == 1) {
System.out.println("您选择了普通用户....");
System.out.println("注意:没有账号?先注册后登录....");
System.out.println("请选择:1.注册用户; 2.登录用户");
boolean flags1 = false; //测试是否登录成功
int u = scanner.nextInt();
while(true) {
System.out.println("请输入账号:");
int id = scanner.nextInt();
System.out.println("请输入姓名:");
String name = scanner.next();
System.out.println("请输入密码(必须为6个字符):");
String passwd = scanner.next();
if (passwd.length() == 6 && (name != null) && (id > 0)) { //判断密码是否满足条件
user.setvalues(id, name, passwd);
flags1 = true;
break;
} else {
System.out.println("输入错误,请重新输入,退出请输入-1....");
continue;
}
}
boolean flags2 = false; //判断是否登录成功
if (u == 1) {
System.out.println("---------注册用户------");
if(userDao.register(user)){
System.out.println("注册成功!");
System.out.println("---------登录用户------");
if (userDao.login(user)) {
System.out.println("登录成功!");
flags2 = true;
} else {
System.out.println("登录失败,退出.....");
}
}else {
System.out.println("注册失败!");
}
} else if (u == 2) {
System.out.println("---------登录用户------");
if (userDao.login(user)) {
System.out.println("登录成功!");
flags2 = true;
} else {
System.out.println("账号密码有误,登录失败;退出.....");
}
} else {
System.out.println("输入有误,退出.....");
}
if (flags2 == true) {
while (true) {
System.out.println("------ 山海餐厅首页------");
System.out.println("-----1:查看所有菜品-----");
System.out.println("-----2:分类查看菜品-----");
System.out.println("-----3:搜索菜品名称-----");
System.out.println("-----4:点菜 -----------");
System.out.println("-----5:加菜------------");
System.out.println("-----6:买单------------");
System.out.println("-----7:修改密码------ --");
System.out.println("-----8:退出------------");
System.out.println("请选择:");
int n = scanner.nextInt();
if (n == 8){
System.out.println("您已经退出.....");
break;
}
switch (n) {
case 1: foodDao.showFood(); break;
case 2: foodDao.typeShow();break;
case 3: foodDao.search();break;
case 4: userDao.chooseOrder(user);break;
case 5: userDao.addChooseOrder(user);break;
case 6: userDao.payment(user);break;
case 7: userDao.modify(user);break;
}
}
}
}else {
boolean flags = false;
System.out.println("您选择了管理员用户....");
int i = 1;
while(i <= 3) {
System.out.println("请输入管理员账号:");
int id = scanner.nextInt();
System.out.println("请输入管理员名称:");
String name = scanner.next();
System.out.println("请输入管理员密码:");
String passwd = scanner.next();
if (passwd.equals("1111") && (name.equals("Admin")) && (id == 1)) { //判断是否满足条件
System.out.println("登录成功......");
flags = true;
break;
} else {
if (i >= 3) {
System.out.println("输入错误三次,管理员账户已冻结.....");
break;
}
System.out.println("输入错误还剩"+(3-i)+"次机会!请重新输入,退出请输入-1....");
i ++;
continue;
}
}
if (flags == true) {
while (true) {
System.out.println("------ 山海后台管理 ------");
System.out.println("-----1:查看所有菜品-----");
System.out.println("-----2:分类查看菜品-----");
System.out.println("-----3:搜索菜品名称-----");
System.out.println("-----4:添加菜品 -----------");
System.out.println("-----5:删除菜品------------");
System.out.println("-----6:修改菜品单价---------");
System.out.println("-----7:查看订单------ --");
System.out.println("-----8:退出------------");
System.out.println("请选择:");
int n = scanner.nextInt();
if (n == 8){
System.out.println("您已经退出.....");
break;
}
switch (n) {
case 1: foodDao.showFood(); break;
case 2: foodDao.typeShow();break;
case 3: foodDao.search();break;
case 4: adminDao.addFood();break;
case 5: adminDao.delFood(); break;
case 6: adminDao.modFoodPrice();break;
case 7: adminDao.showOrder();break;
}
}
}
}
}
}
package com.sys.rms.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* jdbc工具类
* 1.数据库连接的获取
* 2.数据库资源的关闭
* 3.insert/update/delete方法的封装
* 4.select方法的封装
*
*/
public class JDBCUtilss {
private static Connection conn;
private static PreparedStatement pstmt;
private static ResultSet rs;
//执行一次
static{
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
//System.out.println("加载驱动失败!检查mysql驱动包是否存在");
}
}
/**
* 获取数据库连接
* @return conn
*/
public static Connection getConnection(){
try {
if(conn == null || conn.isClosed()){
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/rms?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC", "root", "123456");
//
}
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
* @param conn
* @param pstmt
* @param rs
*/
public static void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs){
try {
if(rs != null){rs.close();}
if(pstmt != null){pstmt.close();}
if(conn != null){conn.close();}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 关闭查询的数据库连接
*
*/
public static void closeAll(){
try {
if(rs != null){rs.close();}
if(pstmt != null){pstmt.close();}
if(conn != null){conn.close();}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 处理insert/update/delete操作
* @param sql
* @param params
* @return num
*/
public static int executeUpdate(String sql,Object... params){
int num = 0;
try {
conn = getConnection();
//获取预处理对象
pstmt =conn.prepareStatement(sql);
//传参数
if(params != null){
for(int i=0;i