《Java技术》第八次作业计科1501赵健宇

(一)学习总结

1.用思维导图对本周的学习内容进行总结。

1079800-20170515213048978-247078735.png

2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,为什么要使用PreparedStatement接口而不使用Statement,比较使用两种接口的不同之处。

Statement对象执行SQL语句有两种情况:

  • 一种是数据定义和更新语句,如CREATE、DELETE、UPDATE和INSERT等语句,使用Statement对象的executeUpdate方法执行;int executeUpdate(String sql)throws SQLException;参数sql是要执行的SQL语句,执行成功返回受影响的行数,执行失败则抛出SQLException异常,必须捕捉。
  • 一种是数据查询语句,如SELECT语句,使用Statement对象的executeQuery 方法执行;

Statement存在问题1.程序可读性差2.性能低3.安全性差
PreparedStatement是Statement的子接口,SQL语句用“?”作为所有动态参数的占位符

PreparedStatement pstmt = con.prepareStatement("UPDATE Friends SET Address = ? WHERE Name = ?");
pstmt.setString(1, "长沙");
pstmt.setString(2, "王五");
  • 设置好每个参数值之后,可以使用PreparedStatement对象的无参的executeUpdate()和executeQuery()方法来执行SQL语句:
    pstmt.executeUpdate();

    1.PreparedStatement是预编译的,对于批量处理可以大大提高效率.也叫JDBC存储过程
    2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
    3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得,preparedstatement支持批处理

3.其他需要总结的内容。

    Java应用程序通过JDBC访问数据库时应该遵循五个步骤:
    1. 加载(注册)适当的JDBC驱动程序
    2. 建立数据库连接(通过DriverManager类的getConnection()方法完成,得到数据库连接对象)
    3. .通过数据库连接对象的createStatement方法建立SQL语句对象(Statement,PreparedStatement)执行SQL语句
    4. 处理结果集(ResultSet):使用while循环读取结果
    5. 关闭数据库连接

(二)实验总结

实验内容:
使用JDBC实现实验七的宠物商店
完成实验内容,代码上传到码云,注意,务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。

1079800-20170515213116885-1978417554.jpg

客户层(Client):现在采用B/S开发架构,一般使用浏览器进行访问。
 显示层(JSP/Servlet):使用JSP/Servlet进行页面效果的显示
 业务层(BO,Business Object,业务对象):会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。
 数据层(DAO):提供多个原子性的DAO操作,例如:增加、修改、删除等,都属于原子性的操作。
 资源层(DataBase):主要是数据库的操作层,可以进行各种的数据存储。

问题:每个用户购买的宠物不同,不能用数据库同一表。
解决方案:使用集合

(三)代码托管(务必链接到你的项目)

点击此处进入码云

1079800-20170515213106400-714875624.png

转载于:https://www.cnblogs.com/ai1045152332/p/6858578.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值