20165316 第七周学习总结

Posted treebeard123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20165316 第七周学习总结相关的知识,希望对你有一定的参考价值。

20165316 第七周学习总结

学习中遇到的问题和解决过程

主要还是数据库 mysql 的安装比较麻烦,为此我还重装了 Java


书上原话:MySQL 数据库服务器启动后,应用程序为了能和数据库交互信息,必须首先和 MySQL 数据库服务器上的数据库建立连接。目前在开发中常用的链接数据库的方式是加载 JDBC-数据库驱动,即 JDBC 调用本地的 JDBC-数据库驱动和相应的数据库建立链接。

然而,Java9 根本不支持 lib/ext 的扩展形式(之前我在4.15的总结中也发现 JRE 扩展时的问题),于是我重新下载了 Java8 。之后按书上教程操作得到正常的输出结果。

顺带一提,书上的 Navicat for MySQL 是一种 MySQL 客户端管理工具,还可以采用 打开 xampp 上 MySQL 对应的admin --> 在 phpmyadmin 中编辑 的方式,可以避免宿舍网速的尴尬。

学习内容总结

第十一章

  1. java.sql 包中的 DriverManager 类有两个用于建立连接的类方法(static 方法):Connection getConnection(java.lang.String, java.lang.String, java.lang.String) ,Connection getConnection(java.lang.String)。表中记录有汉字的话在 String 字段添加 characterEncoding 参数,取值 gb2312 或 utf-8。
  2. ResultSet 对象由按“列”(字段)组织的数据行构成。ResultSet对象一次只能看到一个数据行,使用 next() 方法移到下一个数据行,next() 方法最初的查询位置,即游标位置,位于第一行的前面。next() 方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,否则返回false。
  3. 为了得到一个可滚动的结果集,需使用下述方法获得一个Statement对象
    Statement stmt = con.createStatement(int type ,int concurrency);
    根据参数 type 、concurrency 的取值情况,stmt 返回相应的结果集。(详细见 P333)
  4. 条件与排序查询:
  • where 子语句
    • 一般格式: select 字段 from 表名 where 条件
  • order by 子语句对记录进行排序
    • order by <字段名>
  1. 更新、添加与删除操作
  • 更新
    • update 表 set 字段 = 新值 where <条件子句>
  • 添加
    • insert into 表(字段列表) values (对应的具体的记录)
    • insert into 表 values (对应的具体的记录)
  • 删除
    • delete from 表名 where <条件子句>
  1. 预处理语句
  • 优点:减轻数据库负担,提高访问数据库速度。
  • 方法:连接对象 con 可以调用 prepareStatement(String sql) 方法对参数 sql 指定的 SQL 语句进行编译处理,生成该数据库底层的内部命令,并将该命令封装在 PreparedStatement 对象中,调用下列方法使得该底层内部命令被数据库执行:
    • ResultSet executQuery()
    • boolean execute()
    • int executUpdate()
  • 使用通配符
    • 在sql对象执行之前,必须调用相应的方法设置通配符?代表的具体值。
  1. 通用查询:编写一个类,只要用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。
  • 结果集ResultSet对象rs调用getMetaData()方法返回一个ResultSetMetaData对象(结果集的元数据对象)。
  • metaData调用getColumnCount()方法就可以返回结果集rs中的列的数目。
  • metaData调用getColumnName(int i)方法就可以返回结果集rs中的第i列的名字。
  1. 事务:事务由一组SQL语句组成,所谓事务处理是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行(类似于 PS 里的“动作”)
  • JDBC事务处理步骤
    • 用setAutoCommit(booean b)方法关闭自动提交模式
    • 用commit()方法处理事务
    • 用rollback()方法处理事务失败

代码托管

码云链接

程序截图

技术分享图片



以上是关于20165316 第七周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

第七周学习总结

20165331 第七周学习总结

第七周学习进度总结

201521123105 第七周Java学习总结

第七周Java学习总结

201521123088《Java程序设计》第七周学习总结