java作业
<一>学习总结
1.思维导图

2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,为什么要使用PreparedStatement接口而不使用Statement,比较使用两种接口的不同之处。
1.方法executeQuery
用于产生单个结果集(ResultSet)的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法。这个方法被用来执行 SELECT 语句,它几乎是使用最多的SQL语句。但也只能执行查询语句,执行后返回代表查询结果的ResultSet对象。
stmt = conn.createStatement();
String sql = "select cno,kind,age,number,price from Pet";
rs = stmt.executeQuery(sql);
2.方法 executeUpdate
用于执行 INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,例如 CREATE TABLE 和DROPTABLE。INSERT、UPDATE或DELETE语句的效果是修改中零行或多行中的一列或多列。executeUpdate的返回值是一个整数(int),指示受影响的行数(即更新计数)。对于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();
PreparedStatment接口
PreparedStatement 实例包含已编译的 SQL 语句。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创建时未被指定。该语句为每个 IN 参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX 方法来提供。
String sqlStr = "select cno,kind,age,number,price from pet where cno=?";
PreparedStatement pstmt conn.prepareStatement(sqlStr);
pstmt.setString(1, cno);
Statement接口
用于执行不带参数的sql语句。
ResultSet rs=stmt.executeQuery("SELECT name, age, address, email FROM emp");
<二>实验总结
1.程序设计思路:
设计数据库,分别创建宠物表(存储宠物信息),和用户表(存储用户信息);运用JDBC连接数据库,通过Statement实例,执行SQL语句,实现数据的读取和添加、修改、删除。
2.对DAO模式进行总结
客户层(Client):现在采用B/S开发架构,一般使用浏览器进行访问。
显示层(JSP/Servlet):使用JSP/Servlet进行页面效果的显示
业务层(BO,Business Object,业务对象):会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。
数据层(DAO):提供多个原子性的DAO操作,例如:增加、修改、删除等,都属于原子性的操作。
资源层(DataBase):主要是数据库的操作层,可以进行各种的数据存储。
问题:对数据进行更新服务
public int Petupdate(String cno, int number) {
Admin admin = new Admin();
if (admin.queryPet(cno) != null) {
if (admin.updatePetNumber(cno, number)) {
return 1;
} else {
return 0;
}
} else {
return 2;
}
<三>代码托管

浙公网安备 33010602011771号