HomeWorkDemo
/**
* 1.设计用户表(类)
*
* 字段:主键id 用户名name,密码password 权限level(管理员或普通用户)
*
* 2.设计商品表(类)
*
* 字段:主键id 商品名称name,商品价格price,商品一级分类typea(参考京东),商品二级分类typeb,商品说明info
*
* 3.设计管理类 StoreManager
* 功能
* 1.创建两张表
* 2.插入一些随机数据(程序插入也可用.sql文件导入)
* 3.程序启动,出现提示菜单:1.用户注册 .2用户登录.3.商品管理
* 4.如果用户选择3.进入下一级:
* 提示:1.添加商品 2.显示所有商品 3.删除商品(提示用户输入商品名称)4.查询商品(提示用户输入根据哪个条件删除)
*
*/
public class HomeWorkDemo {
public static void main(String[] args) {
System.out.println("HomeWorkDemo.main");
StoreManager.init();
}
}
Goods
public class Goods {
private int id;
private String name;
private int price;
private String levela;
private String levelb;
private String info;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getLevela() {
return levela;
}
public void setLevela(String levela) {
this.levela = levela;
}
public String getLevelb() {
return levelb;
}
public void setLevelb(String levelb) {
this.levelb = levelb;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
InsertGoods
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class InsertGoods extends QFDatabase<Goods> {
@Override
public void parseResultSet(Goods element, ResultSet rs, ArrayList<Goods> list) {
}
@Override
public int[] parseInsertData(ArrayList<Goods> list, PreparedStatement ps, Object... params) {
try{
for(Goods g: list){
ps.setString(1, g.getName());
ps.setString(2, g.getLevela());
ps.setString(3, g.getLevelb());
ps.setInt(4, g.getPrice());
ps.setString(5, g.getInfo());
ps.addBatch();
}
return ps.executeBatch();
}
catch (SQLException e){
System.out.println("InsertGoods.parseInsertData" + e.getMessage());
}
return null;
}
}
InsertUser
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class InsertUser extends QFDatabase<User>{
@Override
public void parseResultSet(User element, ResultSet rs, ArrayList<User> list) {
}
@Override
public int[] parseInsertData(ArrayList<User> list, PreparedStatement ps, Object... params) {
try{
for(User u: list){
ps.setString(1, u.getName());
ps.setString(2, u.getPassword());
ps.setString(3, u.getLevel());
ps.addBatch();
}
return ps.executeBatch();
}
catch (SQLException e){
System.out.println("InsertUser.parseInsertData" + e.getMessage());
}
return null;
}
}
User
public class User {
//用户id
private int id ;
//用户名
private String name;
//用户密码
private String password;
//用户级别
private String level;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
}
StoreManager
import javax.jws.soap.SOAPBinding;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class StoreManager {
//创建数据中的表
private static void createTable(){
try{
Class.forName("QFDatabase");
}
catch (Exception e){
}
System.out.println("StoreManager.createTable");
String sql = "create table if not exists User (id int auto_increment,name varchar(20),password varchar(20),level varchar(50), primary key(id))";
int state = QFDatabase.executeUpdate(sql);
System.out.println("state:" + state);
sql = "CREATE TABLE IF NOT EXISTS `Goods` (\n" +
" `id` int(11) NOT NULL AUTO_INCREMENT,\n" +
" `name` varchar(50) DEFAULT NULL,\n" +
" `price` int(10) DEFAULT NULL,\n" +
" `levela` varchar(255) DEFAULT NULL,\n" +
" `levelb` varchar(255) DEFAULT NULL,\n" +
" `info` varchar(255) DEFAULT NULL,\n" +
" PRIMARY KEY (`id`)\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
state = QFDatabase.executeUpdate(sql);
System.out.println("state:" + state);
}
//向表中添加测试数据
private static void randomData(){
System.out.println("StoreManager.randomData");
ArrayList<User> list = new ArrayList<>();
for (int i = 1; i <10 ; i++) {
User u = new User();
u.setName("Name"+i);
u.setPassword("P"+i);
if(i%7==0){
u.setLevel("管理员");
}
else{
u.setLevel("用户");
}
list.add(u);
}
String sql = "insert into User (name,password,level) values (?,?,?)";
InsertUser iu = new InsertUser();
//int[] states = iu.insertToTable(sql, list);
//System.out.println("StoreManager.randomData:" + Arrays.toString(states));
Random r = new Random();
ArrayList<Goods> list1 = new ArrayList<>();
for (int i = 1; i <100 ; i++) {
Goods u = new Goods();
u.setName("Name"+i);
u.setLevela("a"+i);
u.setLevelb("b"+i);
u.setPrice(r.nextInt(100)+100);
u.setInfo("StoreManager");
list1.add(u);
}
sql = "insert into Goods (name,levela,levelb,price,info) values (?,?,?,?,?)";
InsertGoods ig = new InsertGoods();
//int[] states = ig.insertToTable(sql, list1);
//System.out.println("StoreManager.randomData:" + Arrays.toString(states));
}
private static boolean findUser(String name,String password){
String sql = "select name from user where name = ?";
boolean isExists = QFDatabase.isExists(sql, name);
if(!isExists){
//注册新用户
ArrayList<User> list = new ArrayList<>();
User u = new User();
u.setName(name);
u.setPassword(password);
u.setLevel("用户");
list.add(u);
sql = "insert into user(name,password,level) values (?,?,?)";
InsertUser iu = new InsertUser();
int[] states = iu.insertToTable(sql, list );
System.out.println(Arrays.toString(states));
return true;
}
else{
System.out.println("StoreManager.findUser:用户存在");
return false;
}
}
//程序启动
private static void start(){
System.out.println("StoreManager.start");
Scanner input = new Scanner(System.in);
int state = 0;
while(true){
switch (state){
case 0:
System.out.println("请选择:1.用户注册 .2用户登录.3.商品管理(输入编号 )");
state = input.nextInt();
break;
case 1:
System.out.println("请输入用户名和密码:(用空格分开)");
String name = input.next();
String password = input.next();
boolean isExists = findUser(name, password);
if(isExists){
state=3;
}
break;
case 2:
System.out.println("请输入用户名和密码:(用空格分开)");
break;
case 3:
System.out.println("请选择:1.添加商品 2.显示所有商品 3.删除商品(提示用户输入商品名称)4.查询商品(提示用户输入根据哪个条件删除)5.返回上一级");
int subState = input.nextInt();
switch (subState){
case 1:
System.out.println("请输入商品信息:");
String goodsinfo = input.next();
System.out.println(goodsinfo);
break;
case 2:
System.out.println("所有商品信息如下:");
break;
case 5:
state=0;
break;
}
break;
case 4:
state = -1;
break;
case 5:
System.out.println("StoreManager.start:");
try{
Thread.sleep(3000);
state=0;
}
catch (Exception e){
}
break;
}
if(state==-1){
break;
}
}
}
//程序初始化后并启动
public static void init(){
createTable();
randomData();
start();
}
}