20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

教材学习内容总结

第十一章 JDBC数据库操作

  • MySQL数据库管理系统

    • 下载安装MySQL

      • 若下载的是压缩包形式(书上提供的),需要配置环境变量;若是msi文件,直接安装即可
  • MySQL客户端管理工具
    • 下载并安装老师推荐使用的xampp
    • 输入测试连接状态代码
import static java.lang.System.out;
import java.sql.*;public class ConnectionDemo {public static void main(String[] args)throws ClassNotFoundException, SQLException {Class.forName("com.mysql.jdbc.Driver");String jdbcUrl = "jdbc:mysql://localhost:3306/demo";String user = "root";String passwd = "";try(Connection conn = DriverManager.getConnection(jdbcUrl, user, passwd)) {out.printf("已%s数据库连接%n", conn.isClosed() ? "关闭" : "打开");} }
}
  • JDBC-MySQL数据库驱动

    • 下载并安装JDBC-MySQL数据库驱动——mysql-connector-java-8.0.16
    • 在IDEA中添加jar包
  • 查询操作
    • 得到SQL查询语句对象
    try{  Statement sql=con.createStatement();
    }
    catch(SQLException e ){}
    • 处理查询结果

      • SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象是按“列”(字段)组织的数据行构成。

        • ResultSet rs = sql.executeQuery("SELECT * FROM students");
      • ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,获得一行数据后,ResultSet对象可以使用getXxx方法获得字段值(列值),将位置索引(第一列使用1,第二列使用2等)或列名传递给getXxx方法的参数即可。
    • 关闭连接
      • 应用程序在使用ResultSet对象中的数据时,就必须始终保持和数据库的连接,直到应用程序将ResultSet对象中的数据查看完毕
  • 更新、添加与删除操作
    • 更新

      • update 表 set 字段 = 新值 where <条件子句>
    • 添加
      • insert into 表(字段列表) values (对应的具体的记录)
      • insert into 表 values (对应的具体的记录)
    • 删除
      • delete from 表名 where <条件子句>
  • 使用预处理语句
    • 如果应用程序能针对连接的数据库,事先就将SQL语句解释为数据库底层的内部命令,然后直接让数据库去执行这个命令,显然不仅减轻了数据库的负担,而且也提高了访问数据库的速度。
    • Connection和某个数据库建立了连接对象con,那么con就可以调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中
  • 通用查询
    • 用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。

      • metaData调用getColumnName(int i)方法就可以返回结果集rs中的第i列的名字:

        • String columnName = metaData.getColumnName(i);
  • 事务:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。
    • JDBC事务处理步骤

      • 用setAutoCommit(booean b)方法关闭自动提交模式
      • 用commit()方法处理事务
      • 用rollback()方法处理事务失败用rollback()方法处理事务失败

教材学习中的问题和解决过程

代码调试中的问题和解决过程

  • 问题1及其解决方案
  • 问题2、3及其解决方案

代码托管

上周考试错题总结

结对及互评

  • 博客中值得学习的或问题:

  • 该同学把安装过程都截图保存至博客。

  • 感觉感悟那一块的内容可以在具体一点,比如说具体遇到什么问题,如何解决,从中收获了什么,或是教材学习中增长的关于调试代码的经验。

  • 代码中值得学习的或问题:

  • 基于评分标准,我给本博客打分:11分。得分情况如下:正确使用Markdown语法(加1分);模板中的要素齐全(加1分);教材学习中的问题和解决过程, 一个问题加1分;代码调试中的问题和解决过程, 一个问题加1分;本周有效代码超过300分行的(加2分);排版精美的加一分;代码Commit Message规范的加1分;点评认真,能指出博客和代码中的问题的加1分;结对学习情况真实可信的加1分

点评过的同学博客和代码

  • 本周结对学习情况

    • 结对同学学号20175212
  • 结对照片

    • 结对学习内容

      • 第十一章学习
      • MyCP编程
  • 上周博客互评情况

其他(感悟、思考等,可选)

  • 本周对于数据库进行了初步学习,之前学过文件读取输出,类比本周学习内容,数据库是一个储存相同类型数据很好的媒介。
  • 在运行程序时遇到了很多问题,要学会新软件的基本操作,出现错误提示时,要根据错误提示进行适当修改,不能贸然根据网络上教程乱改程序

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第一周 11/11 1/1
第二周 262/273 1/2
第三周 642/915 1/3
第四周 384/1299 2/5
第五周 661/1960 1/6
第六周 1031/2991 2/8
第七周 123/3114 2/10
第八周 941/4055 2/12
第九周 1697/5752 4/16

参考资料

  • [Java2实用教程(第5版)]
  • https://blog.csdn.net/qq_38263083/article/details/82693987
  • https://blog.51cto.com/zhangdongxu/1921999
  • http://www.cnblogs.com/mzxiaoze/p/10683431.html

转载于:https://www.cnblogs.com/zxy20175227/p/10779137.html

20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结相关推荐

  1. 2018-2019-2 20175227张雪莹《Java程序设计》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验四 <Android程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...

  2. 2018-2019-2 20175227张雪莹《Java程序设计》 实验二《Java面向对象程序设计》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...

  3. 2018-2019-2 20175227张雪莹《Java程序设计》实验四 《Android程序设计》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验四 <Android程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...

  4. 2018-2019-2 20175227张雪莹《Java程序设计》实验三 《敏捷开发与XP实践》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验三 <敏捷开发与XP实践> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号: ...

  5. 2018-2019-2 20175227张雪莹《Java程序设计》实验五 《网络编程与安全》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验五 <网络编程与安全> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:20 ...

  6. 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉

    2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...

  7. 20175227张雪莹 2018-2019-2 《Java程序设计》第十一周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第十一周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 一个URL对象通常包含最基本的三部分信息:协议 ...

  8. 20175227张雪莹 2018-2019-2 《Java程序设计》第五周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 第六章接口与实现 接口 接口体中所有的常量访问权限一定是public和static(可 ...

  9. 20175227张雪莹 2018-2019-2 《Java程序设计》第六周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 第七章 内部类与异常类 内部类:在一个类中定义另一个类:包含内部类的类为外嵌类 内部类 ...

  10. 20175227张雪莹 2018-2019-2 《Java程序设计》第八周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型与集合框架 泛型:主要目的是可以建立具有类型安全的集合框架,如链表.散列 ...

最新文章

  1. ps grep java_ps -ef | grep java 查看所有关于java的进程
  2. 使用sql*plus导出数据表为excel或者html
  3. lvs的调度算法有几种_LVS:三种负载均衡方式比较
  4. openssl下开发sm4-gcm-ciphers
  5. springboot使用HttpSessionListener监听器统计在线用户数
  6. Oracle Study之案例--数据恢复神器Flashback(2)
  7. python安装mysqldb模块,如何使用pip安装Python MySQLdb模块?
  8. HDU2050 折线分割平面【组合】
  9. 常见的Java开发框架有哪些?
  10. 0. SQL Server监控清单
  11. java线程wait和notify详解
  12. jQuery MVC 科室异步联动
  13. 51单片机与JQ8900语音播报模块
  14. c语言 滑窗法_滑窗平均的另一种实现方式
  15. 【每日一题】一起冲击蓝桥杯吧——Day6【蓝桥真题一起练】
  16. c语言gets,getc,区分C语言中fgetc、getc、getchar、fgets、gets
  17. 如何使用ArcGIS在Power BI中创建地理地图
  18. 移除联想M5210阵列卡(3650M5)的缓存模块以开启JBOD模式
  19. 华为鸿蒙新机是哪款,华为新机来了!预装鸿蒙 OS,搭载麒麟 9000!
  20. django+python搭建消息推送系统

热门文章

  1. python深入之装饰器--通过选择发说说和发图片的案例理解装饰器
  2. 看书笔记20080509
  3. Pycharm工具栏等菜单设置
  4. LoadRunner 11压测时碰到错误Error: missing newline in E:\xx\RCV.dat
  5. python实现科学计数法时间转换
  6. Django框架特点
  7. 如何快速掌握HTTP协议?
  8. java中日期加上特定的天数或者时间
  9. 用QRCode生成带有中间logo图的二维码
  10. Spark On YARN 环境搭建