java第八次作业
《Java技术》第八次作业
(一)学习总结
1.用思维导图对本周的学习内容进行总结。
2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,为什么要使用PreparedStatement接口而不使用Statement,比较使用两种接口的不同之处。
-
Statement
用于执行静态 SQL 语句并返回它所生成结果的对象。在默认情况下,同一时间每个 Statement 对象在只能打开一个ResultSet对象。因此,如果读取一个ResultSet对象与读取另一个交叉,则这两个对象必须是由不同的Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则Statement 接口中的所有执行方法都会隐式关闭它。 -
PreparedStatement
PreparedStatement是Statement的子接口表示预编译的 SQL 语句的对象。
SQL 语句被预编译并存储在PreparedStatement对象中。然后可以使用此对象多次高效地执行该语句。 -
实例
public ArrayList<Pet> queryAllData(){ Connection conn = null; Statement stmt = null; ResultSet rs = null; ArrayList<Pet> list = new ArrayList<Pet>(); try{ conn = JDBCUtils.getConnection(1); stmt = conn.createStatement(); String sql = "select number,name,age,amont,price from pet"; rs = stmt.executeQuery(sql); while(rs.next()){ Pet thisPet = new Pet(); thisPet.setNumber(rs.getString("number")); thisPet.setName(rs.getString("name")); thisPet.setAge(rs.getString("age")); thisPet.setAmont(rs.getString("amont")); thisPet.setPrice(rs.getDouble("price")); list.add(thisPet); } return list; }catch(Exception e ){ e.printStackTrace(); }finally{ JDBCUtils.close(conn); } return null; }
(二)实验总结
-
实验内容:
使用JDBC实现实验七的宠物商店
完成实验内容,代码上传到码云,注意,务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。 -
程序设计思路:把database里的数据存入数据库中,修改AdminDao类,使用sql语言访问数据库以及进行增加删除修改等操作,新建JDBCUtils类进行数据库的打开和关闭。
-
类图结构:
-
参考老师给的例子以及连接的步骤,暂无问题。
(三)[代码托管]
https://git.oschina.net/hebau_cs15/hebau-cs01cyl.git
- 码云commit历史截图