(1)按钮的监听,布局,图片美化。
(2)表格的编辑,填充,修改。
(3)列表格的响应(还是有一个小问题)
(4)窗体的三层面板叠加次序。
(5)java链接mysql的方法。
-
知识点:(1)java与mysql连接语句的掌握
-
* (2)swing窗体的构建
-
* (3)在people类里运用了列表框。
-
(ps:还有一个小问题没有解决。那就是点击列表框响应两次。网上的方法不知道怎么运用。)
-
* (4)美化窗体。对窗体背景,按钮都进行了美化。
商品信息包括服装类商品和食品类商品,其中服装类商品中要记录商品的名称,品牌,颜色,大小,适合人群,价格,数量。食品类商品记录商品名称,品牌,保质期截止日期,产地,价格,数量。
销售记录中包括销售时间,产品编号,数量,单价,总价。
进货记录中包括进货时间,产品编号,数量,单价,总价。
该系统能够实现管理员可以根据商品的任意属性的任意组合进行查询实时库存信息和商品明细,再加上时间(起始日期和截止日期)查询销售明细。可以根据指定的时间范围统计相应产品的销售信息(销售量和销售金额)。
能够实现模拟销售,在销售过程中如果发现某类产品的库存量低于5时,要立刻向采购部门发出采购请求。
采购部门在收到采购请求是应开始进货,填写进货记录。采购部门每天要统计每种产品的库存量,如果库存量小于10时,要进行采购。
管理部门每天,每周,每月,每季度,每年统计相应时间范围的销售情况:销售统计
管理部门可以将某种产品下架,下架的产品信息记录记录在下架产品表中(该表处理产品信息还要有下架时间,下架原因)
上边介绍的四个步骤做完之后,我们的程序就连接上了数据库,下边我们就可以进行sql语句的拼接了,得到我们想要的sql语句后,直接执行即可,同时,我们可以打开MySQL的可视化界面,查看数据库的更改情况。
代码如下:
对于数据库的操作:
package com.dxs.dao.impl;
import com.dxs.dao.AdminDAO;
import com.dxs.model.Admin;
import com.dxs.model.Order;
import com.dxs.util.JDBCUtil;
import javafx.embed.swing.JFXPanel;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Created by 戴宪锁 on 2017/5/22.
*/
public class AdminDAOImpl implements AdminDAO {
private JDBCUtil jdbcUtil = JDBCUtil.getInitJDBCUtil();
@Override
public int updateInfo(Admin admin) throws SQLException {
int n = 0;
String sql = "UPDATE t_admin SET a_password = ?,a_name = ? WHERE a_id = ?";
Object[] objects = {admin.getPassword(),admin.getNickName(),admin.getA_Id()};
n = jdbcUtil.executeUpdate(sql,objects);
return n;
}
@Override
public Admin searchAdminByAccount(String account) throws SQLException {
Connection connection = jdbcUtil.getConnection();
PreparedStatement statement = null;
ResultSet set = null;
String sql = "SELECT * FROM t_admin WHERE a_account = ?";
statement = connection.prepareStatement(sql);
statement.setString(1,account);
set = statement.executeQuery();
Admin admin = null;
if (set.next()){
admin = new Admin();
admin.setA_Id(set.getInt("a_id"));
admin.setAccount(set.getString("a_account"));
admin.setPassword(set.getString("a_password"));
admin.setNickName(set.getString("a_name"));
}
set.close();
statement.close();
connection.close();
return admin;
}
}
对于一个账号类 连接的也是Mysql里面的账户表
package com.dxs.model;
public class Admin {
private Integer a_Id;
private String account;
private String password;
private String nickName;
public Admin() {
}
public Admin(String account, String password, String nickName) {
this.account = account;
this.password = password;
this.nickName = nickName;
}
public Admin(Integer a_Id, String account, String password, String nickName) {
this.a_Id = a_Id;
this.account = account;
this.password = password;
this.nickName = nickName;
}
public Integer getA_Id() {
return a_Id;
}
public void setA_Id(Integer a_Id) {
this.a_Id = a_Id;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
@Override
public String toString() {
return "Admin{" +
"a_Id=" + a_Id +
", account='" + account + '\'' +
", password='" + password + '\'' +
", nickName='" + nickName + '\'' +
'}';
}
}
项目的包
都是按照分类来的
package com.dxs.service.impl;
import com.dxs.dao.AdminDAO;
import com.dxs.factory.DAOFactory;
import com.dxs.model.Admin;
import com.dxs.service.AdminService;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
public class AdminServiceImpl implements AdminService {
private AdminDAO adminDAO = DAOFactory.getAdmin();
/**
* 管理员 登录 验证
*/
@Override
public Map isLogin(String account,String password) {
Map map = new HashMap();
Admin admin = null;
try {
admin = adminDAO.searchAdminByAccount(account);
} catch (SQLException e) {
e.printStackTrace();
}
if (admin != null){
if (admin.getPassword().equals(password)){
map.put("admin",admin);
map.put("info","登录成功!");
}else {
map.put("info","密码错误!");
}
}else {
map.put("info","账号不存在!");
}
return map;
}
}