Java技术第八次作业

《Java技术》第八次作业

(一)学习总结


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

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

  • 方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。

  • 方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。

  • 查询调用executeQuery(),针对于SELECT语句
    `

      public ArrayList getAirEnvironmentPresentAll(){
       ArrayList list = new ArrayList();
       String sql = "select * from airPresent";
       try {
         ps = conn.prepareStatement(sql);
         rs = ps.executeQuery();
         while(rs.next()){
           dto = new M_AirEnviromentPresentDTO();
           dto.setId(rs.getInt("id"));
           dto.setAirForecastPlace(rs.getString("airForecastPlace"));
           dto.setForecastTime(rs.getString("forecastTime"));
           dto.setTSPvalue(rs.getString("tspvalue"));
           dto.setRemark(rs.getString("remark"));
           list.add(dto);
        }
      }
          catch (SQLException e) {
              e.printStackTrace();
         }
          return list;
     }`
    
  • PreparedStatement接口和Statement接口的不同

•PreparedStatement 实例包含已编译的 SQL 语句。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创建时未被指定,该语句为每个 IN 参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX 方法来提供。

•statement每次执行sql语句,相关数据库都要执行sql语句的编译

•由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象。因此,多次执行的 SQL 语句经常创建为 PreparedStatement对象,以提高效率。

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

  • Java应用程序通过JDBC访问数据库时应该遵循五个步骤:

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

(二)实验总结


实验内容:

使用JDBC实现实验七的宠物商店
完成实验内容,代码上传到码云,注意,务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。
格式如下:
使用GUI,编写一个宠物商店管理系统实现对宠物信息的统一管理。假设宠物种类有猫、狗,宠物信息包括:编号、品种、年龄、数量、价格。系统启动进入登录界面,登录成功进入管理界面,否则提出错误信息后退出系统。

程序设计思路:根据老师给出的代码,理解其内容,做出相应的修改,完成宠物商店界面的设置
格式如下:
程序设计思路:
1.定义一个宠物信息PetItem类,定义宠物的编号、姓名、种类、年龄、价格、数量属性和get、set方法。

2、定义一个宠物店的信息DataBase类,宠物店里有哪些宠物,用集合来存储宠物信息。

3,、定义一个管理员访问信息Administrator类,当访问宠物商店时展示商店里有那些宠物,并且定义添加宠物和删除宠物的方法。

4、定义一个管理员管理宠物AdministratorSever类,定义方法展示所有的宠物,定义添加方法添加宠物。

5、定义一个Tool类,确定视图中登录界面和展示界面的窗口位置。

问题1:无论输入什么用户名密码,都能进入。
原因:用户名和密码的判断问题
解决方案:
`public boolean findAdminData(String name, String password) {

	if ("shiziyu".equals(name) && "2015614840326".equals(password))

	{

		return true;
	}
	return false;

}

}`

(三)代码托管

  • 码云commit历史截图

posted @ 2017-05-17 23:11  暖宝宝。  阅读(210)  评论(0编辑  收藏  举报