zoukankan      html  css  js  c++  java
  • 《Java技术》第八次作业

    Java第八次作业


    一 . 学习总结

    1.XMind

    2.在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,使用PreparedStatement接口而不使用Statement的原因

    • Statement接口
    • 一个Statement对象用于执行静态SQL语句,并获得语句执行后的结果
    • executeUpdate(String sql)方法执行数据库的SQL语句,如INSERT,UPDATE,DELETE等,返回更新记录数
    • executeQuery(String sql)方法执行数据库查询操作,返回一个结果集对象
    • PreparedStatement接口
    • 创建一个可以编译的SQL语句对象,该对象可以被多次运行,以提高执行效率,该接口是Statement类的子接口,属于预处理操作,与Statement接口不同的是,PreparedStatement接口操作时,在数据表中准备好SQL语句,内容暂时不设置,等待用户分别设置,PreparedStatement接口除Statement的所有操作,还有新操作
    • executeUpdate()方法执行设置的预处理SQL语句
    • executeQuery()方法执行数据库查询操作,返回ResultSet
    • 使用Statement接口(进行查询时,SQL语句的内容是具体的)
    • 实例:
            public boolean queryAllData(String name, String password) {
    	        Connection conn = null;
    	        Statement stmt = null;
    	        ResultSet rs = null;
    	        boolean flag = false;
    	        ArrayList<LoginCheck> list = new ArrayList<LoginCheck>();
    	        try {
    		        conn = JDBCUtils.getConnectionSQL();
    		        stmt = conn.createStatement();
    		        String sql = "select name,password from uers where name = 'lcy' and password = '123456'";
    		        rs = stmt.executeQuery(sql);
    		        while (rs.next()) {
    			        LoginCheck thisUser = new LoginCheck();
    			        thisUser.setName(rs.getString("name"));
    			        thisUser.setPassword(rs.getString("password"));
    			        list.add(thisUser);
    			        if (name.equals(thisUser.getName())
    					&& password.equals(thisUser.getPassword())) {
    				        flag = true;
    			        }
    		        }
    	        } catch (Exception e) {
    		            e.printStackTrace();
    	        } finally {
    		        JDBCUtils.close(conn);
    	        }
    	        return flag;
            }
    
    • 使用PreparedStatement接口(进行查询时,SQL语句使用占位符进行设置具体内容)
    > * 实例:
    	    
            person.add(new LoginCheck(name, password1, phone, email));
    		Connection conn = null;
    		PreparedStatement pstmt = null;
    		try {
    			conn = JDBCUtils.getConnectionSQL();
    			String sql = "insert into uers (name,password,phone,email) values (?,?,?,?)";
    			pstmt = conn.prepareStatement(sql);
    			pstmt.setString(1, name);
    			pstmt.setString(2, password1);
    			pstmt.setString(3, phone);
    			pstmt.setString(4, email);
    			int num = pstmt.executeUpdate();
    			} catch (Exception e1) {
    				e1.printStackTrace();
    			} finally {
    				JDBCUtils.close(conn);
    		}
    

    3.其他内容总结


    二 . 实验总结

    1. 宠物商店图形界面

    • 程序设计思路:

      • 首先,创建WelcomeFrame界面,进行注册或登录功能;点击注册,进入LoginFrame注册界面,进行注册,注册时,进行数据库连接,注册信息存入数据库;点击登录,判断输入的信息与数据库内容比较,若为管理员登录,进入AdFrame管理员界面,否则为UserFrame用户界面;若购买,进行数据库连接,若在用户界面购买后,信息存入数据库,点击宠物清单进入ListFrame清单界面
      • 其次创建Pet宠物类存放宠物属性,LoginCheck注册类存放注册属性,创建JDBCUtils数据库类,与数据库进行连接,注册时比较TextFiled的字符串与数据库数据,GUITools类对于界面组件显示的方法
      • 最后,AdminDao类是对管理界面的按钮组件功能进行实现,实现按钮功能时,进行数据库连接,AdService类是对AdminDao类中的方法进行判断,UserDao类是对用户界面的按钮组件功能进行实现,实现按钮功能时,进行数据库连接,UserService类是对UserDao类中的方法进行判断
    • 问题1:

      • 注册登录时出现空指针异常,conn对象无法执行
    • 原因:

      • 没有为conn赋值,执行注册或者登录时,没有连接数据库
    • 解决方案:

      • 当异常进行增删改查时,捕获异常时,为conn赋值
           conn = JDBCUtils.getConnectionSQL();
      
    • 问题2:

      • 执行带有数据库的项目时,不能正确执行
    • 原因:

      • 没有创建项目里的数据库
    • 解决方案:

      • 打开项目的.sql文件,先创建数据库,再创建表,添加数据等操作,再执行项目的Main方法
    • 类图:


    三 .代码托管


    四 .学习进度条

    进程 代码行数(新增/累积) 学习时间(新增/累积) 本周学习内容
    目标 5000行 300小时
    第2-4周 500/500 45/45 自学了前四章的内容,自己练习了学习过程中的所有代码,并写了一些练习题提交到了码云中
    第5周 200/700 15/55 学习了老师要求的内容
    第6周 300/1000 15/70 学习了作业中要求的内容
    第7-8周 200/1200 15/85 掌握了本次学习的全部内容
    第9周 300/1500 10/95 掌握了本次学习的内容
    第10周 400/1900 10/95 掌握了本次学习的内容
    第11周 600/2500 20/95 对图形界面有了一定的理解
    第12周 500/3000 20/115 对Java数据库编程有了深入的理解

  • 相关阅读:
    Network (poj1144)
    C. Hongcow Builds A Nation
    ZYB loves Xor I(hud5269)
    D. Chloe and pleasant prizes
    Game(hdu5218)
    约瑟夫环的递推方法
    Misaki's Kiss again(hdu5175)
    Exploration(hdu5222)
    B. Arpa's weak amphitheater and Mehrdad's valuable Hoses
    C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/Melody-529/p/6858783.html
Copyright © 2011-2022 走看看