基于mySQL的“吃货联盟点餐系统”
基于mysql的“吃货联盟系统”可以更好地对数据进行存储,因为引入了mysql的概念,所以在进行Java的代码编写之前我们要先在数据库中设计好我们将要使用的一系列表。这里我设计了三个表:
food(菜单表)
##数据库food表设计
##创建food表
create table eat.food(
`id` int auto_increment primary key ,
`name` varchar(20) not null ,
`price` decimal(10,2) not null,
`praise` int not null
);
效果图:
order(订单表)
##创建order表
create table if not exists eat.order (
`id` int auto_increment primary key ,
`userName` varchar(20) not null ,
`address` varchar(20) not null,
`phone` varchar(100) not null
);
效果图:
order_detial(订单详细表)
##创建order_detial表
create table eat.order_detial(
`id` int auto_increment primary key ,
`userName` varchar(20) not null ,
`foodName` varchar(100) not null,
`price` decimal(10,2) not null ,
`count` int not null ,
`sum_price` decimal(10,2) not null,
`time` int not null,
`state` varchar(20) not null
);
效果图:
表设计好后我们就可以进行代码的编写,在这里我将功能都封装在Cash类中,然后在测试类中进行调用。
Cash类:
public class Cash {
private String jdbcUri = "jdbc:mysql://数据库连接地址:3306/数据库名称";
private String uName = "用户名"; //数据库的用户名
private String pass = "密码"; //数据库的密码
private Connection conn;
private Statement statement ;
private String name;
Scanner input = new Scanner(System.in);
public Cash(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(jdbcUri,uName,pass); //连接数据库
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void queryFood(){
//打印菜单
try {
statement = conn.createStatement(); //实例化statement对象
ResultSet resultSet = statement.executeQuery("select * from food");
while(resultSet.next()){
//打印输出菜单
StringBuffer s = new StringBuffer();
s.append("序号:").append(resultSet.getInt(1))
.append("\t菜名:").append(resultSet.getString(2))
.append("\t价格:").append(resultSet.getBigDecimal(3))
.append("\t点赞数:").append(resultSet.getInt(4));
System.out.println(s);
}
} catch (SQLException e) {
//捕获异常
e.printStackTrace();
}finally {
try {
statement.close(); //关闭statement
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void myInfo(){
//个人信息
try {
statement = conn.createStatement();
System.out.print