JDBC使用preparedStatement对象完成查询:
案例:
用户登录功能
分析:
a、通过控制台获取用户登录信息到代码
b、根据用户的登录信息去数据库中查询是否存在该用户信息
c、根据查询结果判断是否可以登录
实现:
使用preparedStatement对象完成
----------------------------------------------------------------------------------------------------------------------------------------
使用preparedStatement完成查询:
1、声明jdbc参数
2、声明jdbc变量
3、加载驱动
4、创建连接
5、创建SQL命令
如果命令中带有参数,使用?进行占位
6、创建SQL命令对象
创建preparedStatement对象,同时将SQL传入
7、给占位符赋值(可选)
8、执行SQL命令
9、处理结果
使用while循环遍历resultset集合
创建实例化对象存储数据(使用角标方式或者字段方式)
将对象存储到集合中
10、关闭资源
------------------------------------------------------------------------------------------------------------------------------------
package com.bjsxt.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import com.sun.org.apache.bcel.internal.generic.CHECKCAST;
/**
* 登录案例分析问题:
* 问题:
* 在输入错误的用户名和错误的密码的情况下,只要密码按照一定的规则拼写有可能会登录成功。
* 原因:(statement的SQL注入)
* statement对象执行的SQL语句时按照字符串拼接的方式拼接好后再解析执行的,
* 被拼接的变量中一旦含有SQL关键字,有极大的可能被作为SQL语句执行了,而不是作为值使用。
* 解决:
* 使用preparedStatement对象完成查询。preparedStatement是Statement的子类对象。
* 使用:
*
使用jdbc中prepaerdstatement完成对于数据库的查询
最新推荐文章于 2023-07-06 10:25:04 发布