zoukankan      html  css  js  c++  java
  • 20165214 第七周学习任务

    20165214 2017-2018-2 《Java程序设计》第七周学习总结

    教材学习内容总结

    • 11.1 介绍了如何下载MySQL社区版,我跟着流程下载成功了。

    • 11.2 介绍了如何启动MySQL数据库服务器;可以使用mysqadmin -r [用户名] -p [密码]来修改密码。初始化成功后出现了data目录:

    • 11.3 MySQL客户端管理工具(如Navicat)可以在与数据库服务器建立连接之后,进行建立数据库及相关操作。进行操作后如下结果:

    • 11.4 Java有专门操作数据库的API:JDBC。使用JDBC的步骤:①与一个数据库建立连接;②向已连接的数据库发送SQL语句;③处理SQL语句返回的结果。

    • 11.5 应用程序在和MySQL数据库服务器上的数据库建立连接后,能够和数据库交互信息。

      • 在将数据库驱动放到JDK的扩展目录后,加载数据库驱动
    try{ Class.forName("com.mysql.jdbc.Driver");
    {
    catch(Exception e){}
    
    - 连接数据库使用java.sql包中的DriverManager类中的类方法Connection getConnection来建立连接
    
    • 11.6 查询操作。查询操作分三个步骤:①向数据发送SQL查询语句;②处理查询结果;③关闭连接(关闭后程序无法在数据库中获得数据)
      • 结果集的游标的初始位置在结果集第一行的前面,可以使用next()方法进行移动。也可以利用Statement stmt=con.creatStatement(int type,int concurrency)来获得一个Statement对象后,根据type类型可以使得游标以不同方式进行移动。
      • 条件与排序查询:①where语句的格式where 字段 from 表格 where 条件,使用该语句可以在表格中获取关键字且关键字满足条件的信息。其中可以用操作符进行匹配,使用%代替0个或者多个字符,用一个下划线_代替一个字符。②order by语句的格式select * from mess where name like * order by name可以在where语句的基础上进行关键字按条件排序,然后获取信息。
    • 11.7 更新、添加与删除操作。首先要创建Statement对象,然后用该对象调用方法public int executeUpadte(String sqlStatement)来进行操作。
      • ①更新:update 表 set 字段 = 新值 where <条件子句>
      • ②添加:insert into 表 values (对应的具体记录)
      • ③删除:delete from 表 where <条件字句>
    • 11.8 使用预处理语句(PrepareStatement
      • 预处理语句可以对指定的SQL语句进行预编译处理,提高程序执行效率。PrepareStatement对象可以调用这三个方法来使得底层内部命令被数据库执行:
        • ResultSet executeQuery()
        • boolean execute()
        • int executeUpdate()
      • 通配符的使用:在对SQL进行预处理时可以使用通配符?(注意,这里必须为英文输入法)代替字段的值,但是要预先调用相应的方法设置通配符?代表的具体值,如:sql.setFloat(1,1.76f);sql.setString(2,"你好");。通配符按照它们在预处理SQL语句中从左到右出现的顺序分别被称为第1个,第2个...。
    • 11.9 通用查询。ResultSet对象调用调用getMetaData()方法返回一个ResultSetMetaData对象,然后这个对象就可以调用getColumeCount()方法来返回结果集中列的数目;也可以调用getColumnName(int i)方法可以返回结果集中第i列的名字。
    • 11.10 事务
      • 事务及处理。事务由一组SQL语句组成;事务处理是指应用程序保证事务中的SQL语句的执行与否是同步的,这可以保证数据库中数据的完整性与一致性。
      • JDBC事务处理步骤
        • ①和数据库的连接对象(例如con)的提交模式是自动提交模式,即它产生的Statement对象对数据库提交的SQL语句都会立刻升序,因此为了事务处理,con可以调用setAutoCommit(false)方法来关闭自动提交方式,接着再像之前那样获取Statement对象sql。
        • ②con可以调用commit()方法让SQL语句全部生效。
        • ③当con调用commit()方法进行事务处理时,只要其中一个SQL语句未能生效,就抛出SQLException异常,处理异常时要调用rollBack()方法,来撤销已经成功执行的SQL语句,以此来达到事务处理的效果。
    • 11.11 介绍了SQL Server数据库的下载与连接建立。
    • 11.12 Derby数据库是Java平台提供的一个数据库管理系统,虽然它占空间小,但是支持几乎大部分的数据库应用所需要的特性。应用程序连接Derby数据库需要两个步骤
      • ①加载Derby数据库驱动程序:Class.forName("org.apache.jdbc.EmbeddedDriver");
      • ②创建并连接数据库或连接已有的数据库:Connection con=DriverManager.getConnection("jdbc:derdy:students;create=true");这里create取true,若没有该数据库,则创建。如果将create取false,那么只能连接已有的数据库而不能创建。

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

    • 问题1:除了下载MySQL以外,我还下载了XAMMP。但是,在启动Apache和MySQL的时候,出现了如下错误:

    • 问题1解决方案:原因是Apache的启动需要443端口,而443端口被我电脑里面的VMvare给占用了。于是我打开VMvare的端口设置,把端口值改成了449,问题就解决了。参考博客

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

    • 问题1:在运行第一个程序的时候出现了这样的问题

    • 问题1解决方案:现在还没有解决。

    代码托管

    上周考试错题总结

    第五周:

    • 错题1:内部类是可以被private修饰的。

    • 错题2:对于严重的错误才用Error类来描述,这里是不严重的问题,应该通过Exception类来描述。

    • 错题3:要注意审题。

    • 错题4:要学会查找API(现在已经学会查询API了)。

    • 错题5:B选项应当是抽象路径名的路径名字符串。

    • 错题6:?指得是出现1次或者0次。这里?修饰的是c而不是abc三个字母。

    • 错题7:

    第六周:

    • 错题1:第⑤项应该是TreeMap泛型类创建树映射。

    • 错题2:A选项是错的。因为如果指定对象无法与该 set 中的当前元素进行比较,则抛出ClassCastException异常。

    • 错题3:/d+匹配0~9中的数字出现一次或者一次以上。

    • 错题4:查阅了API,D是正确的。

    • 错题5:B选项的右边发生错误,超出short类型范围。

    • 错题6:命令行输入的得一个元素存储在args[0],因此args[3]=3。

    结对及互评

    其他

    本周学习了数据库,不过感觉学得很不顺畅。。倒也不是说代码的问题,代码是能够看得懂得,但是在建立数据库的连接、进行程序运行的时候,经常出现这个问题:

    也一直没找到解决的方案。这周的时间比较赶,于是我就先把书上的教程都不落下地阅读并且操作了一回,打算在下周解决完这个问题后,再回来尝试着运行这些有问题的程序。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
    目标 5000行 30篇 400小时
    第一周 36/36 1/1 8/8
    第二周 432/468 2/3 15/23
    第三周 964/1432 1/4 16/39
    第四周 725/2157 1/5 14/53
    第五周 1428/3585 3/8 18/71
    第六周 1323/4908 1/9 17/88
    第七周 960/5868 3/12 22/110
    • 计划学习时间:20小时

    • 实际学习时间:22小时

  • 相关阅读:
    【Hadoop学习之七】Hadoop YARN
    【Hadoop学习之六】MapReduce原理
    【Hadoop学习之五】win7+Eclipse+hadoop3搭建本机开发环境
    【Hadoop学习之四】HDFS HA搭建(QJM)
    【Hadoop学习之三】Hadoop全分布式安装
    【Hadoop学习之二】Hadoop伪分布式安装
    【Hadoop学习之一】Hadoop介绍
    【Linux学习十】负载均衡带来tomcat的session不一致问题
    【Linux学习九】负载均衡
    Okhttp3基本使用
  • 原文地址:https://www.cnblogs.com/zhuwenyuan/p/8799065.html
Copyright © 2011-2022 走看看