zoukankan      html  css  js  c++  java
  • 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("用户添加失败!!!");
            }
        }
    
    }

    验证登录成功显示的图片

    显示表中全部信息的图片

    添加新的用户

  • 相关阅读:
    HDU 6182 A Math Problem 水题
    HDU 6186 CS Course 位运算 思维
    HDU 6188 Duizi and Shunzi 贪心 思维
    HDU 2824 The Euler function 欧拉函数
    HDU 3037 Saving Beans 多重集合的结合 lucas定理
    HDU 3923 Invoker Polya定理
    FZU 2282 Wand 组合数学 错排公式
    HDU 1452 Happy 2004 数论
    HDU 5778 abs 数论
    欧拉回路【判断连通+度数为偶】
  • 原文地址:https://www.cnblogs.com/xiexiaofei/p/12018130.html
Copyright © 2011-2022 走看看