zoukankan      html  css  js  c++  java
  • 第15周作业

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

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

    DB类

        import java.sql.Connection;
        import java.sql.DriverManager;
        import java.sql.PreparedStatement;
        import java.sql.ResultSet;
        import java.sql.SQLException;
    
        public class DB {
            private Connection con;
            private PreparedStatement pre;
            private ResultSet rs;
            private static DB test;
            
            static {
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
            }
            
            private DB() {
                try {
                    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
            public static DB getInstance() {
                if (test == null) {
                    test = new DB();
                }
                return test;
            }
    
            public ResultSet executeSelect(String sql, Object[] args) {
                try {
                    pre = con.prepareStatement(sql);
                    if (args.length != 0) {
                        for (int i = 0; i < args.length; i++) {
                            pre.setObject(i + 1, args[i]);
                        }
                    }
                    rs = pre.executeQuery();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return rs;
            }
    
            public int executeModify(String sql, Object[] args) {
                int n = 0;
                try {
                    pre = con.prepareStatement(sql);
                    if (args.length != 0) {
                        for (int i = 0; i < args.length; i++) {
                            pre.setObject(i + 1, args[i]);
                        }
                    }
                    n = pre.executeUpdate();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return n;
            }
    
            public void close() {
                
                try {
                    if (rs != null) {
                        rs.close();
                    }
                    pre.close();
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }

    Testmain类

    import java.sql.*;
    import java.util.Scanner;
    
    public class Testmain {
        public static void main(String[] args) {
            Scanner r = new Scanner(System.in);
            System.out.println("请输入用户名和密码:");
            String  username = r.next();
            String password = r.next();
            Connection con = null;
            Statement st = null;
            ResultSet rs=null;
    
            try {
                Class.forName("com.mysql.jdbc.Driver");
                try {
                    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
                } catch (SQLException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                try {
                    st = con.createStatement();
                } catch (SQLException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                String sql ="insert into t_login(username,password) values('" +username+ "','" + password + "')";
    
                int count = 0;
                try {
                    count = st.executeUpdate(sql);
                } catch (SQLException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } 
                if(count>0) {
                    System.out.println("登陆成功");
                    rs= DB.getInstance().executeSelect("select * from t_user", args);   //调用方法,查询表中信息
    
                    try {
                        while(rs.next()) {  //循环输出
                            int id = rs.getInt(1);
                            String name = rs.getString(2);
                            int sex = rs.getInt(3);
                            String birthday = rs.getString(4);
                            System.out.println("id	"+"name	"+"sex	"+"birthday");
                            System.out.println(id + "	" + name + "	" + sex + "	" + birthday);
                        }
                    } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    
                    
                    System.out.println("请输入id,name,sex,birthday:");//增加一条记录
                    String id=r.next();
                    String name=r.next();
                    Integer sex = Integer.valueOf(r.next());
                    String birthday = r.next();
                    String sql1="insert into t_user(id,name,sex,birthday) values('"+id+"','"+name+"','"+sex+"','"+birthday+"')";
                    int Count=DB.getInstance().executeModify(sql1, args);
                    if(Count>0)
                        System.out.println("添加成功");
                    else
                        System.out.println("添加失败,填写有误");
                }
                else
                    System.out.println("登陆失败");
    
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }finally {
                try {
                    st.close();
                    con.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
        }
    }

    运行截图

     

     

  • 相关阅读:
    C#深入浅出 修饰符(二)
    HDU 5785 Interesting
    HDU 5783 Divide the Sequence
    HDU 5781 ATM Mechine
    UVA 714 Copying Books
    uva 1471 Defense Lines
    UVA 11134 Fabled Rooks
    UVA 11572 Unique Snowflakes
    UVA 11093 Just Finish it up
    UVA 10954 Add All
  • 原文地址:https://www.cnblogs.com/TI-NA/p/12045872.html
Copyright © 2011-2022 走看看