千锋20200331

在千锋“逆战”学习第43天

      每日一句:程序员是值得尊敬的,程序员的双手是魔术师的双手,他们把枯燥无味的代码变成了丰富多彩的软件。
      今天学习了JDBC中的封装工具类、ORM、DAO和util包和SQL包下的日期类型转换。
      明天继续努力。

用户管理系统

效果:

-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:1
用户编号:
4
用户名:
黄紫霄
密码:
123465
出生日期:
1998-09-10
电子邮箱:
hzxabc123@126.com
地址:
河北秦皇岛
数据添加成功
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:4
输入需要查询的用户编号
4
用户编号:4, 用户姓名:黄紫霄, 用户密码:123465, 出生日期:1998-09-10, 电子邮箱:hzxabc123@126.com, 地址:河北秦皇岛
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:3
输入需要修改的用户的编号:
4
输入新的用户名:
黄紫霄2
输入新的密码:
123
输入新的出生日期:
1998-10-09
输入新的电子邮箱:
hzx123abc@qq.com
输入新的地址:
北京海淀
修改成功
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:4
输入需要查询的用户编号
4
用户编号:4, 用户姓名:黄紫霄2, 用户密码:123, 出生日期:1998-10-09, 电子邮箱:hzx123abc@qq.com, 地址:北京海淀
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:5
用户编号:1, 用户姓名:alex, 用户密码:123, 出生日期:1996-06-12, 电子邮箱:124abc@163.com, 地址:New
用户编号:2, 用户姓名:Yokio, 用户密码:12312, 出生日期:1994-05-11, 电子邮箱:abdc123@163.com, 地址:Tokyo
用户编号:3, 用户姓名:barry, 用户密码:12346, 出生日期:1994-06-24, 电子邮箱:flash@126.com, 地址:CenterCity
用户编号:4, 用户姓名:黄紫霄2, 用户密码:123, 出生日期:1998-10-09, 电子邮箱:hzx123abc@qq.com, 地址:北京海淀
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:2
输入注销用户编号:
4
用户注销成功
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:5
用户编号:1, 用户姓名:alex, 用户密码:123, 出生日期:1996-06-12, 电子邮箱:124abc@163.com, 地址:New
用户编号:2, 用户姓名:Yokio, 用户密码:12312, 出生日期:1994-05-11, 电子邮箱:abdc123@163.com, 地址:Tokyo
用户编号:3, 用户姓名:barry, 用户密码:12346, 出生日期:1994-06-24, 电子邮箱:flash@126.com, 地址:CenterCity
-----------选择对user表的操作-----------
1.2.3.4.查单个 5.查多个 0.退出
请选择:0
退出

部分代码:

public class TestMain {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        TestUser tu = new TestUser();
        int choice = 0;
        while (true) {
            System.out.println("-----------选择对user表的操作-----------");
            System.out.println("1.增 2.删 3.改 4.查单个 5.查多个 0.退出");
            System.out.print("请选择:");
            choice = sc.nextInt();
            switch (choice) {
                case 1:
                    tu.insertUser();
                    break;
                case 2:
                    tu.deleteUser();
                    break;
                case 3:
                    tu.updateUser();
                    break;
                case 4:
                    tu.selectUser();
                    break;
                case 5:
                    tu.selectAllUser();
                    break;
                case 0:
                    System.out.println("退出");
                    return;
            }
        }
    }
}
public class TestUser {
    Scanner sc = new Scanner(System.in);
    UserDaoImpl udi = new UserDaoImpl();

    //增
    public void insertUser(){
        System.out.println("用户编号:");
        int id = sc.nextInt();
        System.out.println("用户名:");
        String name = sc.next();
        System.out.println("密码:");
        String password = sc.next();
        System.out.println("出生日期:");
        Date borndate = DateUtils.strToUtilDate(sc.next());
        System.out.println("电子邮箱:");
        String email = sc.next();
        System.out.println("地址:");
        String address = sc.next();
        User user = new User(id,name,password,borndate,email,address);
        int result = udi.insert(user);
        if(result>0){
            System.out.println("数据添加成功");
        }else {
            System.out.println("数据添加失败");
        }
    }

    //删
    public void deleteUser(){
        System.out.println("输入注销用户编号:");
        int id = sc.nextInt();
        int result = udi.delete(id);
        if(result>0){
            System.out.println("用户注销成功");
        }else {
            System.out.println("用户注销失败");
        }
    }

    //改
    public void updateUser(){
        System.out.println("输入需要修改的用户的编号:");
        int id = sc.nextInt();
        System.out.println("输入新的用户名:");
        String name = sc.next();
        System.out.println("输入新的密码:");
        String password = sc.next();
        System.out.println("输入新的出生日期:");
        Date borndate = DateUtils.strToUtilDate(sc.next());
        System.out.println("输入新的电子邮箱:");
        String email = sc.next();
        System.out.println("输入新的地址:");
        String address = sc.next();
        User user = new User(id,name,password,borndate,email,address);
        int result = udi.update(user);
        if(result>0){
            System.out.println("修改成功");
        }else {
            System.out.println("修改失败");
        }
    }

    //查单个
    public void selectUser(){
        System.out.println("输入需要查询的用户编号");
        int id = sc.nextInt();
        User user = udi.select(id);
        System.out.println(user);
    }

    //查多个
    public void selectAllUser(){
        List<User> user = udi.selectAll();
        Object[] userList = user.toArray();
        for(int i=0;i<userList.length;i++){
            System.out.println(userList[i]);
        }
    }
}
public class UserDaoImpl {
    private Connection connection = null;
    private PreparedStatement preparedStatement = null;
    private ResultSet resultSet = null;

    //增
    public int insert(User user) {
        try {
            connection = DBUtils.getConnection();
            String sql = "insert into user(user_id,user_name,user_pwd,user_borndate,user_email,user_address) values (?,?,?,?,?,?)";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1, user.getUser_id());
            preparedStatement.setString(2, user.getUser_name());
            preparedStatement.setString(3, user.getUser_pwd());
            preparedStatement.setDate(4, DateUtils.utilToSql(user.getUser_borndate()));
            preparedStatement.setString(5, user.getUser_email());
            preparedStatement.setString(6, user.getUser_address());
            return preparedStatement.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, preparedStatement, null);
        }
        return 0;
    }

    //删
    public int delete(int user_id) {
        connection = DBUtils.getConnection();
        String sql = "delete from user where user_id = ?";
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1, user_id);
            return preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, preparedStatement, resultSet);
        }
        return 0;
    }

    //改
    public int update(User user) {
        connection = DBUtils.getConnection();
        String sql = "update user set user_name = ?,user_pwd = ?,user_borndate = ?,user_email = ?,user_address = ? where user_id = ?";
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, user.getUser_name());
            preparedStatement.setString(2, user.getUser_pwd());
            preparedStatement.setDate(3, DateUtils.utilToSql(user.getUser_borndate()));
            preparedStatement.setString(4, user.getUser_email());
            preparedStatement.setString(5, user.getUser_address());
            preparedStatement.setInt(6, user.getUser_id());
            return preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, preparedStatement, resultSet);
        }
        return 0;
    }

    //查单个
    public User select(int user_id) {
        connection = DBUtils.getConnection();
        String sql = "select user_id,user_name,user_pwd,user_borndate,user_email,user_address from user where user_id = ?";
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1, user_id);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()) {
                int id = resultSet.getInt("user_id");
                String name = resultSet.getString("user_name");
                String password = resultSet.getString("user_pwd");
                Date borndate = resultSet.getDate("user_borndate");
                String email = resultSet.getString("user_email");
                String address = resultSet.getString("user_address");
                User user = new User(id, name, password, borndate, email, address);
                return user;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, preparedStatement, resultSet);
        }
        return null;
    }

    //查多个
    public List<User> selectAll() {
        connection = DBUtils.getConnection();
        String sql = "select user_id,user_name,user_pwd,user_borndate,user_email,user_address from user";
        List<User> userList = new ArrayList<>();
        try {
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()) {
                int id = resultSet.getInt("user_id");
                String name = resultSet.getString("user_name");
                String password = resultSet.getString("user_pwd");
                Date borndate = resultSet.getDate("user_borndate");
                String email = resultSet.getString("user_email");
                String address = resultSet.getString("user_address");
                User user = new User(id, name, password, borndate, email, address);
                userList.add(user);
            }
            return userList;
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, preparedStatement, resultSet);
        }
        return null;
    }
}
发布了40 篇原创文章 · 获赞 0 · 访问量 1120

猜你喜欢

转载自blog.csdn.net/qq_41841482/article/details/105231527