java第八次作业

计科1501 张鹏

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


2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,为什么要使用PreparedStatement接口而不使用Statement,比较使用两种接口的不同之处。
(1)方法 executeUpdate();
用于执行 INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,例如 CREATE TABLE和DROPTABLE。INSERT、UPDATE或DELETE语句的效果是修改 中零行或多行中的一列或多列。executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate 的返回值总为零。

conn = JDBCUtils.getConnectionSQL();
String sql = "insert into Pet  (cno,kind,age,number,price) values (?,?,?,?,?)";
        pstmt = conn.prepareStatement(sql);
        pstmt.setString(1, pet.getCno());
        pstmt.setString(2, pet.getKind());
        pstmt.setInt(3, pet.getAge());
        pstmt.setInt(4, pet.getNumber());
        pstmt.setInt(5, pet.getPrice());
        int num = pstmt.executeUpdate();

(2)方法executeQuery
用于产生单个结果集(ResultSet)的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法。这个方法被用来执行 SELECT 语句,它几乎是使用最多的SQL语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

conn = JDBCtils.getConnection(1);
stmt = conn.createStatement();
String sql = "select number,name,price,age,unit from pet1";
	    rs = stmt.executeQuery(sql);

(3)不同之处
(1)PreparedStatement是预编译语句,支持批处理,能够减少对数据库资源的占用。
(2)Statement在每次调用时,都要重新进行编译。
(3)PreparedStatement能够编写动态查询语句。
(4)为啥使用PreparedStatement而不用Statement?
(1)PraparedStatement尽可能提升性能
(2)提升代码的可读性和可维护性
(3)因为极大的提高了安全性

(二)实验总结

程序设计思路

使用数据库替换实验七的dataBase类
新建一个类实现对数据库的连接和关闭
在dao中实例化Conection对象和PreparedStatement对象,实现对数据库中的数据的操作
总结:数据库编程是固定的套路,记住JDBC的操作步骤和executeUpdate()、executeQuery()的用法即可。

(三)代码托管

posted on 2017-05-18 10:39  雯水声  阅读(143)  评论(0编辑  收藏  举报