JDBC+MySQL实现超市信息管理系统
JDBC+MySQL实现超市信息管理系统
1. 概述
超市商品管理系统⽤于管理员、销售员的登录。管理员和销售员查看数据。管理员可以进⾏⼊库。销售可以销售商品
2. 需求分析
1. 销售员,管理员登录
2. 管理员添加商品信息,对商品信息修改
3. 销售员可以对商品进⾏查询,出售等
3. 程序设计
实现⽅式:
Java(JDBC)+MySQL
数据库表
⽤户表(User)
id姓名⽤户名密码类型商品信息表(Good)
gid商品名品牌进货时间销售时间进价售价剩余量经办⼈视图层
登录界⾯
管理员菜单界⾯
⼊库(新增或者添加)
商品名、品牌、进货时间、进价、进货量、经办⼈
查询
进货时间、商品名、剩余量、经办⼈
销售员菜单界⾯
销售(更新商品剩余量)
商品名
查询
销售时间、商品名、品牌、售价、剩余量
Dao层
⽤户表
商品表
流程图
4. 程序实现
⼯具
idea2019
Mysql5.5
jdk9.0
mysql驱动jar 1. 准备⼯作
创建数据库
CREATE DATABASE `test` # 创建数据库
USE `test`; # 使⽤该数据库
DROP TABLE IF EXISTS `good`;
CREATE TABLE `good` (  # 创建商品表表
`gid` int(11) NOT NULL AUTO_INCREMENT,
`goodname` varchar(20) NOT NULL, # 商品名
`goodbrand` varchar(20) NOT NULL,# 商品品牌
`intime` date DEFAULT NULL,      # 商品进货时间
`saletime` date DEFAULT NULL,    # 商品销售时间
`inprice` double DEFAULT NULL,  # 商品进价
`saleprice` double DEFAULT NULL, # 商品售价mysql下载jar包
`stock` int(11) DEFAULT NULL,    # 商品剩余量
`agent` varchar(20) DEFAULT NULL,# 商品经办⼈
PRIMARY KEY (`gid`)  # 主键
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (  # 创建⽤户表
`id` int(11) NOT NULL,
`username` varchar(20) NOT NULL, # ⽤户名
`password` varchar(20) NOT NULL, # 密码
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)  # 主键
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
下载驱动jar包
到Mysql官⽹下载mysql驱动包<sql/downloads/connector/j/>
Windows平台选择Platform Independent
安装Mysql(省略,⾃⾏百度安装)
安装JDK(省略,⾃⾏百度安装)
2. 项⽬创建
项⽬⽬录框架
测试Mysql的连接情况
测试代码
st;
st;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ConnTest {
public static void main(String[] args)throws Exception {
// 加载驱动
Class.forName("sql.jdbc.Driver");
// 获取连接对象
Connection connection = Connection("jdbc:mysql://localhost:3306/test","root","root");
// 定义sql 语句
String sql ="select * from user";
// 创建执⾏对象
Statement statement = ateStatement();
// 执⾏查询sql语句
ResultSet resultSet = uteQuery(sql);
// 输出结果集
System.out.println(resultSet);
}
}
如果成功输出结果集的哈希地址,则说明成功连接上数据库
1. 封装JDBC⼯具类:JDBCUtils
⽬的,简化开发流程
bing.utils;
import java.sql.*;
public class JDBCUtils {
static{
try{
Class.forName("sql.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
/
**
* 得到数据库的连接
*/
public static Connection getConnection()throws SQLException {
Connection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC","root","root");
}
/**
* 关闭所有打开的资源
*/
public static void close(Connection conn, Statement stmt){
if(stmt != null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(conn != null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
/**
* 关闭所有打开的资源
*/
public static void close(Connection conn, Statement stmt, ResultSet rs){
if(rs != null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}close(conn, stmt);
}
}
2. 编写JavaBean
根据创建的数据库表,在domain包中创建对应的JavaBean类
bing.domain;
// 对⽤⽤户表
public class User {
private int id;
private String username;
private String password;
private String name;
private boolean isadmin;
public boolean isIsadmin(){
return isadmin;
}
public void setIsadmin(boolean isadmin){
this.isadmin = isadmin;
}
.
..省略其他getter和setter⽅法
}
// 对⽤商品表
import java.util.Date;
public class Good {
private int gid;
private String goodname;
private String goodbrand;
private Date intime;
private Date saletime;
private double inprice;
private double saleprice;
private int stock;
private String agent;
public int getGid(){
return gid;
}
public void setGid(int gid){
this.gid = gid;
}
...省略其他getter和setter⽅法
}
3. 登录功能
登录界⾯:可以获取⽤户名,密码。根据返回的⽤户类型调⽤创建管理类或者销售类bing.view;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。