代码改变世界

java第八次作业

2017-05-18 10:46  空白格DE  阅读(211)  评论(0)    收藏  举报

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

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

一、PreparedStatement具有可读性和可维护性

stmt.executeUpdate("insert into tb_name(col1,col2,col3,col4)
values("+var1+","+var2+","+var3+","+var4+")");
perstmt=con.prepareStatement("insert into tb_name(col1,col2,col3,col4)values(?,?,?,?)");
perstmt.setString(1,var1);
perstmt.setString(2,var2);
perstmt.setString(3,var3);
pertmt.setString(4,var4);
perstmt.executeUpdate();

二、尽最大可能提高性能
因为预编译语句有可能被重复调用,所以语句在被编译器编译后的执行代码被缓存下来,下次调用的时候只要是相同的预编译语句就不需要编译,只需要将参数直接传入编译过的语句执行代码中就会得到执行。
优点:容易阅读,维护方便;批处理效果高,执行速度快;安全,可以防止sql注入攻击
区别:
(1)PreparedStatement是预编译语句,支持批处理,能够减少对数据库资源的占用。
(2)Statement在每次调用时,都要重新进行编译。
(3)PreparedStatement能够编写动态查询语句。
三、其他实验总结
字节流与字符流的区别:字节流在操作文件时,即使不关闭资源,文件也可以输出,但是如果字符流不适用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不关闭的情况下输出内容(二)实验总结

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

(三)代码托管
https://git.oschina.net/jin1/j8.git