博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Java技术》第八次作业
阅读量:6954 次
发布时间:2019-06-27

本文共 1625 字,大约阅读时间需要 5 分钟。

《Java技术》第八次作业

(一)学习总结

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

1079941-20170516232742338-1886813128.png

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

  • executeQuery()方法

    • 执行数据库更新的SQL语句,如INSETR、UPDATE、DELETE等语句,返回更新的记录数。
    conn = JDBCUtils.getConnection(1);  stmt = conn.createStatement();  String sql = "select no,type,age,number,price from pet";  rs = stmt.executeQuery(sql);
  • executeUpdate()方法

    • 执行数据库查询操作,返回一个结果集对象。
    conn = JDBCUtils.getConnection(1);  String sql = "insert into pet(no,type,age,number,price) values (?,?,?,?,?)";  pstmt = conn.prepareStatement(sql);  pstmt.setString(1, pet.getNo());  pstmt.setString(2, pet.getType());  pstmt.setString(3, pet.getAge());  pstmt.setString(4, pet.getNumber());  pstmt.setString(5,pet.getPrice());  int num = pstmt.executeUpdate();
  • PreparedStatement接口和Statement接口的不同

    • PreparedStatement 实例包含已编译的 SQL 语句。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创建时未被指定,该语句为每个 IN 参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX 方法来提供。
    • statement每次执行sql语句,相关数据库都要执行sql语句的编译
    • 由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象。因此,多次执行的 SQL 语句经常创建为 PreparedStatement对象,以提高效率。

(二)实验总结

  • 实验内容:

    使用JDBC实现实验七的宠物商店

    完成实验内容,代码上传到码云,注意,务必将创建数据库的脚本文件随项目文件一起上传,在随笔中分析程序设计思路,用PowerDesigner画出类图结构。

  • 程序设计思路:

    1.定义用户登录界面,编写登录验证类,在验证类中只是根据输入进来的用户名和密码进行验证,并没有注册功能,在编写图形界面时,再对用户名和密码进行验证,若登录成功,进入宠物商店管理界面。

    2.创建JDBCUtils类,负责数据库连接和关闭操作以及取得一个数据库的连接对象。

    3.定义宠物商店管理窗口类,定义查询、添加、修改、删除方法,设置窗口界面,在数据库中获取数据,添加到表格。

    4.创建管理类,实现宠物的添加、修改、删除方法。

    5.创建项目运行类,定义main方法,进行测试。

  • 类图结构:

1079941-20170516232537885-856236990.png

  • 问题1:凡是遇到SQL语句,运行出现大批错误

  • 原因:没有将数据库的文件放置项目中。

  • 解决方案:找到数据库文件的保存位置,放置PetJDBC里。

(三)

  • 码云commit历史截图
    1079941-20170516232512057-1471161427.png

转载于:https://www.cnblogs.com/li-yumeng/p/6864314.html

你可能感兴趣的文章
整体管理
查看>>
Allegro16.6导出位号图
查看>>
mycat err:java.sql.SQLNonTransientException: find no Route:select日志报错
查看>>
Centos7.4源码搭建zabbix3.4.11企业级监控
查看>>
yumi引导盘制作
查看>>
Objective C类方法load和initialize的区别
查看>>
【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
查看>>
LINUX中nagios客户端安装步骤及遇到问题
查看>>
CentOS6.7系统优化加强牢固脚本
查看>>
nofollow是什么意思?nofollow标签的写法和作用
查看>>
MySQL常用命令收录
查看>>
SQL 删除数据-select在当前表字段作为条件
查看>>
nike roshe run homme pas cher
查看>>
webrtc研究资源摘录
查看>>
.Net Micro Framework移植基础(包编译通过)
查看>>
对象和实例的区别
查看>>
关于MARATHON和容器的端口映射
查看>>
php通过header发送自定义数据
查看>>
云时代必备 CDN 技能包
查看>>
仿大众点评下拉菜单实现
查看>>