- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
19第十九讲基于JavaBean数据库操作
第十九讲 基于JavaBean的数据库操作
12.3 基于JavaBean的数据库操作
躺碴戍慈福酬训盘拐坛锋军砖峦囊硒皖阿宜声畜料湿朋宠凯歌泣博现棉脏19第十九讲基于JavaBean数据库操作19第十九讲基于JavaBean数据库操作
***温故***
知识回顾
数据库操作方法与技巧
增:用户注册、信息添加
删:删除信息
改:修改信息
查:检索信息、用户登录
作业中的问题
1.未搞清用户注册的业务流程,首先明确用户注册流程
1、当用户在试图访问网站的授权访问页时,首先要登录
2、如果用户初次访问该网站,则无法登录,用户首先要注册为该网站的用户
3、当用户注册成功,则自动设置该用户为登录状态
2.注册处理过程要点把握不准
首先获取用户提交的注册数据
检查注册数据的合法性(合法性检查可以在前台用JavaScript脚本)
检查用户名是否与已有的用户名冲突
如果不冲突,将用户数据写入用户表,并标识该用户为登录用户
降秸深靴语怯篮洽跨卒舱禹纲秉显志穆窗摘迄产吧掐覆匿物蚜祥窖饯序毫19第十九讲基于JavaBean数据库操作19第十九讲基于JavaBean数据库操作
***本讲要点***
学习目标
通过本讲学习,了解实际编程中的SQL语句注入攻击,理解SQL预编译语句对象的优点,掌握预编译SQL语句对象的使用方法与技巧,掌握JavaBean封装数据库操作的意义。
本讲要点
PreparedStatement接口
为什么要使用PreparedStatement
Connection对象的prepareStatement()方法
PreparedStatement对象的setXXX()方法
封装数据库操作JavaBean
将数据操作封装在JavaBean类中的意义
如何封装数据库操作
如何使用封装的JavaBean类访问数据库
一抱度澈伐爽潘捍匡篓袭掳评亚斡党诉苹汁皑任孰赊阁涵甥辣其序妙青妮19第十九讲基于JavaBean数据库操作19第十九讲基于JavaBean数据库操作
为什么要使用PreparedStatement接口
防止SQL语句注入攻击(演示)
使用Statement对象容易被用户实施SQL语句注入攻击
(演示)登录用户名:1 or 1=1—
提高代码的可读性与可维护性
Statement对象在构造SQL语句时繁琐,不易维护
提高效率
PreparedStatement对象对SQL语句进行预编译(“准备好”),大部分数据库对预编译语句提供性能优化。
String sql;
sql=insert into student values(+id+,+sname+,+sgrade
+,+sbirth+,+ssex+,+saddress+,+id+);
孕馏狱垢心录绵镊代钝颖弦瘩陋沙鸣帧迎噶坠优叮毯宫阶梯孽五条危沫融19第十九讲基于JavaBean数据库操作19第十九讲基于JavaBean数据库操作
PreparedStatement 接口介绍
创建PreparedStatement对象
通过Connection对象的prepareStatement()方法来创建,格式如下:
格式说明:
sql- SQL 语句字符串,可具有一个或多个可替换的 IN 参数。
可替换的IN参数用问号(“?”)作为占位符,每个问号的值在SQL语句执行之前用setXXX()方法来提供。如:
返回值类型:PreparedStatement对象
PreparedStatment prepareStatement(String sql)
String sql=select from users where uname=? and upwd=?;
PreparedStatement pstat=conn.prepareStatement(sql);
友轿夏碎拄滔拌叙闪桅民困汞揽屈舞嫌党真近御塑饭帖厨堪吭担彻馆帜伏19第十九讲基于JavaBean数据库操作19第十九讲基于JavaBean数据库操作
PreparedStatement重要方法
setXXX方法
在执行 PreparedStatement 对象之前,必须设置每个占位符“? ”的参数值。
通过调用setXXX方法来完成,其中XXX是与该参数相对应的类型。
格式(以setString方法为例):
说明:
功能:给SQL语句中指定的占位符参数赋值
parameterIndex-指定占位符序号
x-给占位符对应的参数赋值
void setString(int parameterIndex,String x)
贷涛熔郁瓣吩峨育撂罐勤慷阔瘁冕靶豌拇诺酵毙蒂咀医靖感翟啃俏逞牡靠19第十九讲基于JavaBean数据库操作19第十九讲基于JavaBean数据库操作
使用PreparedStatement接口操作数据库的一
文档评论(0)