zoukankan      html  css  js  c++  java
  • 20175216 《Java程序设计》第九周学习总结

    20175216 《Java程序设计》第九周学习总结

    教材学习内容总结

    第11章-JDBC与MySQL数据库

    要点

    MySQL数据库管理系统
    连接MySQL数据库
    查询操作(基础)
    更新、添加、删除(基础)
    预处理语句(重点)
    通用查询(难点)
    事务
    笔记

    1. 查询操作

    基本操作:
    与数据库取得连接(不同数据库仅在这一句中的链接和代码中的驱动forname不同):
    String uri = "jdbc:mysql://localhost:3306/<所键表格的名字>?useSSL=true";
    向已连接的数据库发送SQL语句创建查询对象(置于代码中):

    try{  Statement sql=con.createStatement();
    }
    catch(SQLException e ){}
    

    处理SOL语句返回的结果(两种方式选一即可):
    getString(int columnIndex)
    getString(String columnName)
    友好关闭数据库:con.close()
    三种查询方式:
    顺序查询
    控制游标
    得到可滚动的结果集:Statement stmt = con.createStatement(int type ,int concurrency);
    条件与排序查询
    where子句:select 字段 from 表名 where 条件
    排序:用order by子语句对记录排序

    2. 更新、添加、删除

    更新:update set 字段 = 新值where<条件子句>
    添加:insert into表(字段列表) values (对应的具体的记录)或insert into values (对应的具体的记录)
    删除:delete from 表名where<条件子句>

    3. 使用预处理语句

    使用通配符
    常用预处理语句设置通配符?的值的方法:

    void setData(int parameterIndex,Data x)
    void setDouble(int parameterIndex,double x)
    void setFloat(int parameterIndex,float x)
    void setInt(int parameterIndex,int x)
    void setLong(int parameterIndex,long x)
    void setString(int parameterIndex,string x)
    
    4. 通用查询

    编写一个类,只要用户将数据库名,SQL语句传递给该类对象,那么这个对象就用一个二维数组返回查询的记录(eg. 运行结果是个表格),使用的是返回到程序中的结果集来获取相关信息
    具体步骤:
    结果集的元数据对象:ResultSetMetaData = rs.getMetaData();
    调用getColumnCount()方法返回结果集rs中的列的数目:int columnCount = metaData.getColumnCount()
    想要返回第i列的数据就用:string columnCount = metaData.getColumnCount(i)

    5. 事务

    JDBC事务处理步骤
    关闭自动提交模式方法:setAutoCommit(booean b)
    处理事务方法:commit()
    处理事务失败:rollback()

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

    问题一:在学习P328中11.5 连接数据库时有些疑惑为什么用JDB连接数据库?
    问题一解决方案:就像是接口一样,想要用这个接口,就要实现这个接口里的方法,jdbc也一样,它实现了某些特定功能的接口,也就是那些个能连接数据库的方法,所以,你必须用它。但也可以不用JDBC,也可以用hibernate,ibatis。

    问题二:在查询上个问题的时候看到了hibernate,疑惑hibernate和jdbc连接数据库的区别?
    问题二解决方案:
    1、Hibernate先检索缓存中的映射对象( 即hibernate操作的是对象),而jdbc则是直接操作数据库。
    2、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合。
    3、Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。
    Hibernate毕竟是基于JDBC的技术,高度的封装提高了开发效率,从运行效率上来说如果正确使用JDBC那一定是比HB高的。

    • 代码量截图:

    上周考试错题总结

    上周考试无错题。

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

    虚拟机一定记得备份,否则虚拟机崩了之后就会丢失,非常麻烦。
    在学习教材的时候,发现其实自己编一遍代码与对着书编代码还是有很大区别的,自己编一遍的话,会发现很多只对着书编所察觉不到的细节,而这些细节也正是我们全面认识这个代码的关键点所在

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 32/32 1/1 12/12
    第二周 302/334 1/2 10/22
    第三周 771/1105 1/3 15/37
    第四周 540/1645 1/4 14/51
    第五周 399/2044 1/5 13/64
    第六周 1112/3156 1/6 13/77
    第七周 653/3809 1/7 13/90
    • 计划学习时间:15小时

    • 实际学习时间:13小时

    • 改进情况:
      这周学习了第十一章知识,通过运行代码明白各代码的具体含义,体会到了娄老师上课一直提到的“做中学,学中做”。

    参考资料

  • 相关阅读:
    考研_数据结构
    快速排序模板
    nginx设置跳转https
    PHP 构造函数
    js scroll事件
    php获取url中的参数
    js 的cookie问题
    yii2关联表
    sql优化之concat/concat_ws/group_concat
    yii2.0 url美化-apache服务器
  • 原文地址:https://www.cnblogs.com/besti20175216/p/10786756.html
Copyright © 2011-2022 走看看