- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. JDBC核心API1.1. Statement1.1.1. Statement执行查询通过Connection对象创建Statement的方式:Connection.createStatement();执行INSERT, UPDATE和DELETE等DML操作:Statement.executeUpdate();执行SELECT:Statement.executeQuery();通过Statement对象返回SQL语句执行后的结果集:String sql = select empno, ename, sal, hiredate from emp;Statement stmt = con.createStatement();ResultSetrs = stmt.executeQuery(sql);//对rs的处理//代码略stmt.close();1.1.2. Statement执行插入Statement.executeUpdate(sql)方法将返回SQL语句执行后影响的记录数:String sql = insert into emp(empno, ename, job, sal) values(1001, ‘张三丰’,‘Manager’9500);int flag = -1;try {?con = ConnectionSource.getConnection();?stmt = con.createStatement();?flag = stmt.executeUpdate(sql); //处理结果}catch(SQLException e){ //处理异常}1.1.3. Statement执行更改和INSERT操作完全相同,只是SQL语句不同:String sql = update emp set sal = 9900 where empno = 1001;int flag = -1;try {?con = ConnectionSource.getConnection();?stmt = con.createStatement();?flag = stmt.executeUpdate(sql); //处理结果}catch(SQLException e){ //处理异常}1.2. PreparedStatement1.2.1. PreparedStatement原理Statement主要用于执行静态SQL语句,即内容固定不变的SQL语句。Statement每执行一次都要对传入的SQL语句编译一次,效率较差。某些情况下,SQL语句只是其中的参数有所不同,其余子句完全相同,适用于PreparedStatement。PreparedStatement的另外一个好处就是预防sql注入攻击。PreparedStatement是接口,继承自Statement接口。使用PreparedStatement时,SQL语句已提前编译,三种常用方法 execute、executeQuery和executeUpdate已被更改,以使之不再需要参数。图-1 PreparedStatement原理PreparedStatement实例包含已事先编译的 SQL 语句,SQL 语句可有一个或多个 IN 参数,IN参数的值在 SQL 语句创建时未被指定。该语句为每个 IN 参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setInt或者setString等方法提供。由于PreparedStatement对象已预编译过,所以其执行速度要快于 Statement 对象。因此,多次执行的 SQL 语句经常创建为PreparedStatement对象,以提高效率。通常批量处理时使用PreparedStatement。//SQL语句已发送给数据库,并编译好为执行作好准备PreparedStatementpstmt = con.prepareStatement( UPDATE emp SET job= ? WHERE empno= ?);//对占位符进行初始化pstmt.setLong(1, Manager);pstmt.setInt(2,1001);//执行SQL语句pstmt.executeUpdate();1.2.2. 通过PreparedStatement提升性能图-2 数据库执行SQL语句过程在数据库执行SQL语句过程中,制定执行计划开销巨大。数据库本身具备SQL缓存功能,可以对statement的执行计划进行缓存,以免重复分析。其缓存原理是使用statement本身作为key并将执行计划存入与statement对应的缓存中,对曾经执行过的statements,再运行时执行计划将重用。举例:SELECT a, b
您可能关注的文档
- 记一次趣味运动会.ppt
- 讲故事练口才,口才故事.ppt
- it 和蔼英语强调句型.ppt
- itop介绍.docx
- ISO体系运行.pptx
- 讲座---移动医疗技术的发展和应用_廖福元.ppt
- Illustrator设计教案(第一讲).ppt
- ITSS题库.docx
- iLOCK联锁系统机架构成及板卡介绍V1.0.0.ppt
- 讲卫生,讲文明.ppt
- 301115_2024_#ESG_联检科技_2024年度环境、社会和治理(ESG)报告_2025-04-29.pdf
- 300308_2024_#ESG_中际旭创_2024年环境、社会及公司治理(ESG)报告_2025-04-21.pdf
- 想生科技产品注册公告及所需文件상생기술제품_등록_공고문_및_제출_서류.pdf
- 300760_2024_#SD_迈瑞医疗_2024年度可持续发展报告_2025-04-29.pdf
- 300870_2024_#SD_欧陆通_欧陆通2024年可持续发展报告_2025-04-22.pdf
- 301369_2024_#ESG_联动科技_2024年度环境、社会与公司治理(ESG)报告_2025-04-18.pdf
- 300937_2024_#SD_药易购_2024年度可持续发展报告_2025-04-25.pdf
- 300621_2024_#ESG_维业股份_维业股份:2024年度环境、社会和公司治理(ESG)报告_2025-04-19.pdf
- 300428_2024_#SD_立中集团_立中四通轻合金集团股份有限公司2024年度可持续发展报告-中文版_2025-04-21.pdf
- 301167_2024_#ESG_建研设计_2024年度环境、社会及公司治理(ESG)报告_2025-04-04.pdf
文档评论(0)