十五周

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

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

 代码:

DB类

public class DB {
    private Connection con;
    private PreparedStatement pre;
    private ResultSet rs;
    private static DB db;
    static{
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        }
     DB(){
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "");
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    

    }
    public static DB getInstance(){
        if(db==null){
            db = new DB();
            }
        return db;
    }
    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) {
            // TODO Auto-generated catch block
            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]);
                    
                }
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return n;
    }
    public void close(){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    
    

}

主类

package ccut.cn;

import ccut.cn.DB;

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

public class test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("请输入用户名和密码:");
        Scanner reader = new Scanner(System.in);
        String username = reader.nextLine();
        double password = reader.nextDouble();
        ResultSet p;
        ResultSet r;
        DB db = new DB();
        p = db.executeSelect("select * from t_login where username = '"+username+"' and password = '"+password+"'", args);
        
        try {
           if(username.equalsIgnoreCase(username)){
               System.out.println("登录成功");
               r = db.executeSelect("select * from t_user", args);        
               while(r.next()) {
                   int id = r.getInt(1);
                   String name = r.getString(2);
                   int sex = r.getInt(3);
                   String birthday =r.getString(4);
                   System.out.println("id:"+id+"\tname:"+name+"\tsex:"+sex+"\tbirthday:"+birthday);    
               }
               System.out.println("请输入需要添加的记录内容为:");
               int new_id = reader.nextInt();
               String newname = reader.next();
               int newsex = reader.nextInt();
               String newdate =reader.next();
               String sql="insert into t_user(id,name,sex,birthday) values("+new_id+",'"+newname+"',"+newsex+",'"+newdate+"')";    
               int n =db.executeModify(sql, args);    
               if(n>0) {
                   System.out.println("数据插入成功");
               }else {
                   System.out.println("数据插入失败");
               }
            }
            
            else{
                System.out.println("登录失败!");
            }
            
            
            
            
            //} //catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        }catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
        

    }

截图

猜你喜欢

转载自www.cnblogs.com/jiangdi135792/p/12045959.html