用户登录小程序

来源:互联网 发布:乐百视网络机顶盒 编辑:程序博客网 时间:2024/05/01 23:06

在数据库建一个表格存入诺干用户跟用户密码,id自增
这里写图片描述
程序不长就写在一个class里面啦
里面涉及到的JDBC相关的类跟方法详见上一篇,有详细解释

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Scanner;import com.mysql.jdbc.PreparedStatement;public class TestStatement {    static Scanner sc=new Scanner(System.in);    public static void main(String[] args) {        System.out.println("请输入用户名:");        String name=sc.nextLine();        System.out.println("请输入密码:");        String password =sc.nextLine();        User user=isExist(name, password);        if(user!=null){            System.out.println("登录成功");        }        else{            System.out.println("登录失败");        }    }    //获取连接  public static Connection getConnection(){      String driver="com.mysql.jdbc.Driver";//mysql的Driver      String url="jdbc:mysql://localhost:3306/test";//数据库的位置      String user="root";      String password="123456";      Connection conn=null;    try {        Class.forName(driver);//加载注册驱动    conn = DriverManager.getConnection(url,user,password);    } catch (ClassNotFoundException e) {        e.printStackTrace();    } catch (SQLException e) {        e.printStackTrace();    }      return conn;  }  //判断输入的用户名跟密码是否存在  public static User isExist(String name,String password){      String sql="select *from user where name=? and password=?";      Connection conn=null;    PreparedStatement ps=null;    ResultSet rs=null;     User user=null;    try {        conn = getConnection();          ps = (PreparedStatement) conn.prepareStatement(sql);//PreparedStatement对象用于执行sql语句          ps.setString(1, name);//给占位符?赋值          ps.setString(2, password);//给占位符?赋值          rs = ps.executeQuery();//结果集对象               while(rs.next()){              user=new User();              user.setId(rs.getInt(1));              user.setName(rs.getString(2));              user.setPassword(rs.getString(3));                }    } catch (SQLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }    finally{        if(rs!=null){            try {                rs.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }       if(ps!=null){           try {            ps.close();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        }       if(conn!=null){              try {                conn.close();            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }}    }     return user;    }}//用户类class User{    private int id;    private String name;    private String password;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    @Override    public String toString() {        return "User [id=" + id + ", name=" + name + ", password=" + password + "]";    }    public User(int id, String name, String password) {        super();        this.id = id;        this.name = name;        this.password = password;    }    public User() {    }}

结果如下
输入正确与不正确时:
这里写图片描述
这里写图片描述
:

0 0
原创粉丝点击