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

    题目1:

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

    代码:

    Login.java

    package wyr;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Scanner;
    
    public class Login {
        public static void main(String[] args) {
            System.out.println("请输入用户名和密码");
            Scanner reader =new Scanner(System.in);
            String name=reader.next();
            String pwd=reader.next();
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/wl", "root","0000");
                Statement st=con.createStatement();
                String sql="select * from t_login where username='"+name+"' and password='"+pwd+"'";
                ResultSet rs= st.executeQuery(sql);
                if(rs.next()){
                    System.out.println("登录成功");
                }else{
                    System.out.println("登录失败");
                }
                con.close();
                st.close();
                rs.close();
            
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    
    }

    运行结果:

     题目2:

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

    代码:

    DB.java

    /*
     * 创建DB类,分别定义加载驱动器和连接方法、查询方法,增删改方法,和关闭流方法
     */
    package jdbc;
    
    import java.sql.*;
    
    public class DB {
         private static DB db;
         private PreparedStatement pre;
         ResultSet rs;
         private Connection con;
         public static DB getInstance(){
                if(db==null){
                    db=new DB();
                }
                return db;
            }
        DB(){
             try {
                    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","0000");
                    
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
        }
        static {//加载连接桥
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //查询方法
        ResultSet  getQuery(String sql,Object[] args){
            //3
            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;
        }
        //增删改方法
        int  getUpdate(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;
        }
        //关闭流
        void close(){
            try {
                 if(rs != null){
                        rs.close();                
                    }
                    pre.close();
                    con.close(); 
            } catch (SQLException e) {
                    e.printStackTrace();
            }
            
        }
    
    }

    Add.java

    package wyr;
    
    import java.sql.SQLException;
    import java.util.Scanner;
    
    public class Add {
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
                 System.out.println("请输入用户名和密码:");
                String username = in.next();
                String password = in.next();
                Object []login = {username, password};
                String sql = "select * from t_login where username=? and password=?";
                DB db = DB.getInstance();
                db.getQuery(sql, login);
                try {
                    if(db.rs.next()){
                        System.out.println("登陆成功!");
                        Object []select = new Object[0];
                        sql = "select * from t_user ";
                        db.getQuery(sql, select);
                        int id;
                        String name = null;
                        String sex = null;
                        String birthday = null;
                        while(db.rs.next()){//输出显示t_user表内容;
                            id=db.rs.getInt(1);
                            name = db.rs.getString(2);
                            sex = db.rs.getString(3);
                            birthday = db.rs.getString(4);
                            System.out.println(id + "      " + name + "       "
                                    + sex + "        " + birthday);
                        }
                        System.out.println("请输入姓名:");
                        String name1 = in.next();
                        System.out.println("请输入性别:");
                        String sex1 = in.next();
                        System.out.println("请输入生日:");
                        String birthday1 = in.next();
                        Object []add= {name1, sex1 , birthday1};
                        sql = "insert into t_user (name,sex,birthday) values(?,?,?)";
                        int count = db.getUpdate(sql, add); //添加记录;
                        if(count == 0){
                            System.out.println("插入失败!");
                        }else{
                            System.out.println("插入成功!");
                        }
                    }else{
                        System.out.println("登录失败!");
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            
        }
    
    }

    运行结果:

  • 相关阅读:
    数据结构中的图面试题总结
    大数运算
    页面置换算法
    栈的效率为什么比堆高?
    C#获取FTP文件详细备注信息
    WPF DataGrid_SelectChanged获取单元内容
    Python datetime模块参考手册
    Linux下使用 virtualenv 虚拟独立 Python 环境
    Jupyter Notebook 快捷键使用指南
    IPython 基本使用
  • 原文地址:https://www.cnblogs.com/leeyangtongxue/p/12026161.html
Copyright © 2011-2022 走看看