第十五次作业

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

package cn.edu.ccut;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
            Scanner reader=new Scanner(System.in);
            System.out.println("请输入用户名:");
            String username=reader.next();
            System.out.println("请输入密码:");
            String password=reader.next();
          
            Connection con=null;
            PreparedStatement ps=null;
            ResultSet rs=null;
            
            try {
                Class.forName("com.mysql.jdbc.Driver");
                try {
                    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/aa","root","0000");
                    ps=con.prepareStatement("select * from lee where username=? and password=?");
                    ps.setString(1, username);
                    ps.setString(2, password);
                    rs=ps.executeQuery();
                    if(rs.next()){
                        System.out.println("yes");
                    }else{
                        System.out.println("no");
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                try {
                    con.close();
                    ps.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

package cn;

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 db;
    public static DB getInstance() {
        if(db ==null) {
            db = new DB();
        }
        return db;
        
    }


    DB(){
        try {
           
            con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/aa","root", "0000");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    

    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 executeUpdate(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();
            }
        
    }

        }
      

USER.java

package cn;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class User {

    public static void main(String[] args) {
          Scanner reader=new Scanner(System.in); 
            System.out.println("请输入用户名:");
            String  username = reader.next();
            System.out.println("请输入密码:");
            String password = reader.next();
            DB w  = new DB();
            DB j  = new DB();
            Object[] object = {username,password};int judge = 0;
            String Select1 = "select * from lee where username = ? and password = ?";
            try {
                ResultSet result1 =w.executeSelect(Select1,object);
                if(result1.next()) {
                    System.out.println("登录成功");
                    judge = 1;
                }
                else {
                    System.out.println("登录失败");
                    judge = 0;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            System.out.println("获取内容如下:");
            if(judge == 1) {
                 String Select2 = "select * from t_user";
                 Object[] object2 = new Object[0];
                 try {
                     ResultSet result2 =j.executeSelect(Select2,object2);
                     while(result2.next()) {    
                         String id = result2.getString(1);
                         String name = result2.getString(2);
                         String sex = result2.getString(3);
                         String birthday = result2.getString(4);
                         System.out.println("-" + id + "--" +name + "--" + sex + "--" + birthday+"-");
                        
                     }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }       
            
            
            System.out.println("添加记录:");
            String newName = reader.next();
            String newSex = reader.next();
            String newBirthday = reader.next();
            Object[] object3 = {newName,newSex,newBirthday};
            String Select3 = "insert into t_user (name,sex,brithday) values(?,?,?)";
            int result3 =j.executeUpdate(Select3, object3);
            if(result3 > 0) {
                System.out.println("修改成功");
            }else {
                System.out.println("修改失败");
            }
            w.close();
            j.close();
            
        }

    }

运行结果:

posted on 2019-12-13 21:54  Jeacky-wang  阅读(138)  评论(0编辑  收藏  举报

导航