要求:用户用户名密码登录判断,这是每个项目必须要处理的问题,为了防止sql语句注入漏洞,我们采用sql语句预处理方法,给它固定格式,然后设置参数部分,下面我们直接看代码:
import java.sql.*;
public class loginDemotest {
public static void main(String[] args) {
//连接对象
Connection con = null;
//sql语句预声明对象
PreparedStatement ppstatement = null;
//结果集对象
ResultSet resultSet = null;
//jdbc工具集对象,这个工具可以到请问下载。
JDBCUtils jdbcUtils = new JDBCUtils();
try {
//调用jdbc工具集方法,进行驱动注册加载,获得连接。
con = jdbcUtils.getConnection();
//准备sql语句,传入固定格式,防止sql注册漏洞
String sql = "select * from student where sname = ? and spassword=?";
//进行预处理
ppstatement = con.prepareStatement(sql);
//加入固定格式的sql语句参数,这里我们传入用户名和密码,实际操作中我们
// 可以传入用户输入的参数
ppstatement.setString(1,"李旺");
ppstatement.setString(2,"666666");
//执行sql语句,返回结果集
resultSet = ppstatement.executeQuery();
//这边我们只要判断rusultSet不为空,就说明用户名和密码是正确的。
if(resultSet.next()){
//为了直观显示,我们通过数据库的参数名获得查询到的参数
String sname = resultSet.getString("sname");
String spassword = resultSet.getString("spassword");
//打印显示
System.out.println(sname+" "+spassword);
System.out.println("登录成功!");
}else
System.out.println("用户名或密码错误,登录失败");
} catch (SQLException e) {
e.printStackTrace();
}finally {
//调用工具集,释放资源。
jdbcUtils.relResource(con,ppstatement,resultSet);
}
}
}