TC1为什么不能在for循环外面创建pstmt对象呢?

TC1为什么不能在for循环外面创建pstmt对象呢?

TC1为什么不能在for循环外面创建pstmt对象呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小班 2020-08-04 14:00:43

同学你好,老师测试可以将PreparedStatement对象的获取放在for循环的外面,比如:

http://img1.sycdn.imooc.com//climg/5f28f8610931051c09900469.jpg

conn.prepareStatement(sql)是获取预编译语句的内容,所以conn.prepareStatement(sql)写在for循环外面也可以。

继续加油~  祝学习愉快!

  • 那么问题来了,将conn.prepareStatement(sql)放循环外,很明显就是 节省了创建10W个PreparedStatement对象的时间和内存空间,,但是不是没有节省它解析SQL语句的时间,因为实际上每次 execuateUpdate()就是解析一次Sql吗??
    2020-08-08 15:33:44
  • 是的,同学理解的不错。继续加油。祝:学习愉快~
    2020-08-08 17:21:31
好帮手慕小班 2020-08-04 10:42:04

同学你好,将pstmt放在for循环中,每次循环中的内容执行一遍后,就创建一个新的pstmt,比如:

http://img1.sycdn.imooc.com//climg/5f28cad909caf99409850411.jpg

所以要将pstmt对象的创建放在for循环中。

继续加油,祝:学习愉快~

  • 提问者 武当王也丶 #1
    pstmt只能执行更新一次吗?放在循环外,只创建一次,不能多次执行吗
    2020-08-04 10:47:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师