• JDBC


    题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id、username、password),验证登录是否成功。

    题目2:在上一题基础上,当登录成功后,将t_user表(id、name、sex、birthday)的信息进行显示(要求使用DB.java完成登录和获取t_user表中数据的操作),最后再对t_user表进行一条记录的添加操作。

    package Test;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import xiaofei.StudentEntity.Login;
    import xiaofei.StudentEntity.User;
    
    
    public class JDBCTest {
        private static final String URL = "jdbc:mysql://localhost:3306/test";
        private static final String USERNAME = "root";
        private static final String PASSWORD = "xiaofei";
        //根据学号查询学生
            public Login queryStudentBySno(int id) {
                Connection connection = null;
                PreparedStatement pstat = null;
                ResultSet rs = null;
                Login login = null;
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
                    String sql = "select * from t_login where id = ?";
                    pstat = connection.prepareStatement(sql);
                    pstat.setInt(1, id);
                    rs = pstat.executeQuery();
                    if(rs.next()) {
                        String username = rs.getString("username");
                        int id1 = rs.getInt("id");
                        String password = rs.getString("password");
                        login = new Login(id1,username,password);
                    }
                    return login;
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                    return null;
                }catch(SQLException e) {
                    e.printStackTrace();
                    return null;
                }catch(Exception e) {
                    e.printStackTrace();
                    return null;
                }finally {
                    try {
                        if(rs!=null)rs.close();
                        if(connection!=null)connection.close();
                        if(pstat!=null)pstat.close();
                    }catch(SQLException e) {
                        e.printStackTrace();
                    }catch(Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            //查询所有的用户
            public List<User> queryAllUsers(){
                List<User> users = new ArrayList<User>();
                Connection connection = null;
                PreparedStatement pstat = null;
                ResultSet rs = null;
                User user = null;
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
                    String sql = "select * from t_user";
                    pstat = connection.prepareStatement(sql);
                    rs = pstat.executeQuery();
                    while(rs.next()) {
                        int id = rs.getInt("id");
                        String name = rs.getString("name");
                        String sex = rs.getString("sex");
                        String birthday = rs.getString("birthday");
                        user = new User(id,name,sex,birthday);
                        users.add(user);
                    }
                    return users;
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                    return null;
                }catch(SQLException e) {
                    e.printStackTrace();
                    return null;
                }catch(Exception e) {
                    e.printStackTrace();
                    return null;
                }finally {
                    try {
                        if(rs!=null)rs.close();
                        if(connection!=null)connection.close();
                        if(pstat!=null)pstat.close();
                    }catch(SQLException e) {
                        e.printStackTrace();
                    }catch(Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            //添加用户
            public boolean addUser(User user) {
                Connection connection = null;
                PreparedStatement pstat = null;
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
                    String sql = "insert into t_user values(?,?,?,?)";
                    pstat = connection.prepareStatement(sql);
                    pstat.setInt(1, user.getId());
                    pstat.setString(2, user.getName());
                    pstat.setString(3, user.getSex());
                    pstat.setString(4, user.getBirthday());
                    int count = pstat.executeUpdate();
                    if(count>0)
                        return true;
                    else
                        return false;
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                    return false;
                }catch(SQLException e) {
                    e.printStackTrace();
                    return false;
                }catch(Exception e) {
                    e.printStackTrace();
                    return false;
                }finally {
                    try {
                        if(connection!=null)connection.close();
                        if(pstat!=null)pstat.close();
                    }catch(SQLException e) {
                        e.printStackTrace();
                    }catch(Exception e) {
                        e.printStackTrace();
                    }
                }
            }
    }
    package xiaofei.StudentEntity;
    
    public class Login {
        private int id;
        private String username;
        private String passwrod;
        public Login() {}
        public Login(int id, String username, String passwrod) {
            this.id = id;
            this.username = username;
            this.passwrod = passwrod;
        }
        public Login( String username, String passwrod) {
            this.username = username;
            this.passwrod = passwrod;
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPasswrod() {
            return passwrod;
        }
        public void setPasswrod(String passwrod) {
            this.passwrod = passwrod;
        }
    }
    package xiaofei.StudentEntity;
    
    public class User {
        private int id;
        private String name;
        private String sex;
        private String birthday;
        public User(int id, String name, String sex, String birthday) {
            super();
            this.id = id;
            this.name = name;
            this.sex = sex;
            this.birthday = birthday;
        }
        public User() {}
        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 getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public String getBirthday() {
            return birthday;
        }
        public void setBirthday(String birthday) {
            this.birthday = birthday;
        }
        
    }

    进行登录的验证代码

    package Test;
    
    import java.util.Scanner;
    
    import xiaofei.StudentEntity.Login;
    
    public class Test19 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner scanner = new Scanner(System.in); 
            System.out.println("请输入您的id");
            int id = scanner.nextInt();
            System.out.println("请输入您的姓名");
            String username = scanner.next();
            System.out.println("请输入您的密码");
            String password = scanner.next();
            JDBCTest jdbc = new JDBCTest();
            Login login = jdbc.queryStudentBySno(id);
            if(login!=null) {
                if(id==login.getId()&&username.equals(login.getUsername())&&password.equals(login.getPasswrod())) {
                    System.out.println("用户登录成功!!!");
                }else {
                    System.out.println("用户登录失败!!!");
                }
            }else {
                System.out.println("用户登录失败!!!");
            }
        }
    
    }

    进行展示表中全部数据的代码

    package Test;
    
    import java.util.ArrayList;
    import java.util.List;
    import xiaofei.StudentEntity.User;
    
    public class Test20 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            System.out.println("显示全部信息!!!");
            JDBCTest jdbc = new JDBCTest();
            List<User> users = new ArrayList<User>();
            users = jdbc.queryAllUsers();
            for(User user : users) {
                System.out.println(user.getId()+"  "+user.getName()+"  "+user.getSex()+"  "+user.getBirthday());
            }
        }
    
    }

    进行添加用户的代码

    package Test;
    
    import java.util.Scanner;
    
    import xiaofei.StudentEntity.User;
    
    public class Tset21 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入您要添加用户的id");
            int id = scanner.nextInt();
            System.out.println("请输入您要添加用户的姓名");
            String name = scanner.next();
            System.out.println("请输入您要添加用户的性别");
            String sex = scanner.next();
            System.out.println("请输入您要添加用户的生日");
            String birthday = scanner.next();
            User user = new User(id,name,sex,birthday);
            JDBCTest jdbc = new JDBCTest();
            boolean flag = jdbc.addUser(user);
            if(flag) {
                System.out.println("用户添加成功!!!");
            }else {
                System.out.println("用户添加失败!!!");
            }
        }
    
    }

    验证登录成功显示的图片

    显示表中全部信息的图片

    添加新的用户

  • 相关阅读:
    Linux:正则表达式2
    Linux:基础命令三
    Linux:正则表达式1
    虚拟机:主机能ping通虚拟机,虚拟机不可以ping通主机
    Linux:安装禅道
    ssh免密钥登录
    CKA-Harbor简单使用
    CKA-docker部署LNMP网站平台
    CKA-构建Nginx、PHP、Tomcat镜像
    CKA-docker卸载以及安装
  • 原文地址:https://www.cnblogs.com/xiexiaofei/p/12018130.html
Copyright © 2020-2023  润新知