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

本文共 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

你可能感兴趣的文章
Linux信号
查看>>
scikit-learn决策树算法类库使用小结
查看>>
ABP文档 - Javascript Api - AJAX
查看>>
首次构建android studio gradle 下载缓慢的问题
查看>>
mysql命令行导入和导出数据
查看>>
取maven copy部分
查看>>
jquery $(document).ready() 与window.onload的区别
查看>>
如何让帝国CMS7.2搜索模板支持动态标签调用
查看>>
mac下源码安装redis
查看>>
C++中父类的虚函数必需要实现吗?
查看>>
cocos2d-x C++ 原始工程引擎运行机制解析
查看>>
Swift之 vm10虚拟机安装Mac OS X10.10教程
查看>>
P1801 黑匣子_NOI导刊2010提高(06)
查看>>
被吐嘈的NodeJS的异常处理
查看>>
html meta标签使用总结(转)
查看>>
iOS APP 安全测试
查看>>
Bitmap尺度变换
查看>>
mybatis if-else(写法)
查看>>
apache 虚拟主机详细配置:http.conf配置详解
查看>>
ON DUPLICATE KEY UPDATE
查看>>