下面可能会缺少配置文件,方法
这里找
添加链接描述
Demo09Jdbc
package cn.Dong;
import cn.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
/*
需求:
1.通过键盘录入用户名和密码
2.判断用户是否登陆成功
*/
public class Demo09Jdbc {
public static void main(String[] args) {
//1.键盘录入,接受用户名和密码
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String username=sc.nextLine();
System.out.println("请输入密码");
String password=sc.nextLine();
//2.调用方法
boolean flag=new Demo09Jdbc().login(username,password);
//3.判断结果,输出不同语句
if(flag){
System.out.println("登陆成功!");
}else {
System.out.println("用户名或密码错误!");
}
}
public boolean login(String username,String password){
if(username==null||password==null){
return false;
}
//连接数据库是否登陆成功
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
//1.获取连接
try {
conn = JDBCUtils.getConnection();
//2.获取sql
String sql="select * from user where username='"+username+"'and password='"+password+"'";
//3.获取执行sql的对象
stmt = conn.createStatement();
//4.执行查询
rs = stmt.executeQuery(sql);
//5.判断
return rs.next();
} catch (SQLException e) {
e.printStackTrace();
}
finally {
JDBCUtils.close(rs,stmt,conn);
}
return false;
}
}
上面的sql语句会有问题,因为拼接的问题会不安全,sun提供了解决sql注入对象:使用PreparedStatement对象来解决
Demo10Jdbc
package cn.Dong;
import cn.utils.JDBCUtils;
import java.sql.*;
import java.util.Scanner;
/*
需求:
1.通过键盘录入用户名和密码
2.判断用户是否登陆成功
*/
public class Demo10Jdbc {
public static void main(String[] args) {
//1.键盘录入,接受用户名和密码
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String username=sc.nextLine();
System.out.println("请输入密码");
String password=sc.nextLine();
//2.调用方法
boolean flag=new Demo10Jdbc().login(username,password);
//3.判断结果,输出不同语句
if(flag){
System.out.println("登陆成功!");
}else {
System.out.println("用户名或密码错误!");
}
}
/*
登陆方法,使用PreparedStatement实现
*/
public boolean login(String username,String password){
if(username==null||password==null){
return false;
}
//连接数据库是否登陆成功
Connection conn=null;
ResultSet rs=null;
PreparedStatement pstmt=null;
//1.获取连接
try {
conn = JDBCUtils.getConnection();
//2.获取sql
String sql="select * from user where username=? and password=?";
//3.获取执行sql的对象
pstmt= conn.prepareStatement(sql);
//给?赋值
pstmt.setString(1,username);
pstmt.setString(2,password);
//4.执行查询,不需要传参
rs = pstmt.executeQuery();
//5.判断
return rs.next();
} catch (SQLException e) {
e.printStackTrace();
}
finally {
JDBCUtils.close(rs,pstmt,conn);
}
return false;
}
}