您的位置:首页 > 移动开发 > 微信开发

用户登录小程序

2016-08-28 11:26 225 查看
在数据库建一个表格存入诺干用户跟用户密码,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() {

}

}


结果如下

输入正确与不正确时:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: