JAVA萌新学习day20(三)

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();
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值