Java第八次作业--数据库编程

(一)学习总结

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

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

  • executeUpdate()方法:
    statement 接口中有executeUpdate(String sql)方法发送sql 并返回执行成功的记录的条数 int;prepareStatement是statement的子接口自己定义了方法executeUpdate() 用于执行已发送的预编译的sql 并返回执行成功的记录的条数 int;
  • executeQuery()方法:
    使用JDBC连接数据库需要四步,第一步加载驱动程序;第二步,连接数据库;第三步,访问数据库;第四步,执行查询;其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库,executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。即语句:String sql="select * from"+tableName; ResultSet rs=s.executeQuery(sql);

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

1.包含在PreparedStatement对象中的SQL语句可以带有一个或多个参数,使用“?”作为占位符
2.执行SQL语句之前,必须使用PreparedStatement对象中的setX方法设置每个“?”位置的参数值;
3.设置好每个参数值之后,可以使用PreparedStatement对象的无参的executeUpdate()和executeQuery()方法来执行SQL语句。

(二)实验总结

实验内容:
使用JDBC实现实验七的宠物商店
完成实验内容,代码上传到码云,注意,务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。

  • 问题1: 无法修改数据
    导入老师的fruitshop程序对其进行修改时,将fruitshop名字修改为petshop,但是没有将fruit.sql的名称修改为pet.sql,所以语句String sql = "insert into pet (number,pinzhong,age,shuliang,price) values (?,?,?,?,?)";是无法执行的,应该修改为String sql = "insert into fruit (number,pinzhong,age,shuliang,price) values (?,?,?,?,?)";,才能调用其数据库
  • 问题2:数据库的连接
    在应用Java连接sql server时,应该注册一下,如账户sa,密码123,这些要写在java程序中
    导入fruit.sql包
    final String DBURL = "jdbc:sqlserver://localhost:1433;databaseName=fruit";
    输入帐户
    final String DBUSER = "sa";
    输入密码
    final String DBPASS = "123";
  • 问题3:运行程序时界面按键重叠
    在运行程序时,因为老师写的fruitshop有名称,编号,价格,计价单位4个键,但是在petshop中,却有名称,编号,年龄,数量,价格5个键,如果不修改磅值,最后会导致“价格”框与“添加宠物/修改宠物/”框重叠
    原代码为 updateBtn.setBounds(460, 310, 90, 25); 只需将460修改为较大值即可,但是不能超过代码中整体窗口大小的磅值
    this.setSize(800,700); 对其大小进行调整之后:updateBtn.setBounds(600, 310, 90, 25);

(三)代码托管(务必链接到你的项目)

码云commit历史截图
上传实验项目代码到码云,在码云项目中选择“统计-commits”,设置搜索时间段,搜索本周提交历史,并截图。
https://git.oschina.net/hfja/java-CS02hfj.git

原文地址:https://www.cnblogs.com/hfja/p/6872945.html