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

教材学习内容总结

Ch11

  • 连接MySQL数据库

    • 下载JDBC-MySQL数据库驱动

    • 加载JDBC-MySQL数据库驱动

    • 连接数据库

      (Connection getConnection(java.lang.String,java.lang.String,java.lang.String)

      Connection getConnection(java.lang.String))

    • 如果数据库的表中的记录有汉字,那么在建立连接时需要额外多传递一个参数characterEncoding,并取值gb2312或utf-8

      String uri =
      "jdbc:mysql://localhost/students?useSSL=true&characterEncoding=utf-8";
      con = DriverManager.getConnection(uri, "root",""); //连接代码
  • 查询操作

    • 顺序查询:

      指ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,next()方法最初的查询位置,即游标位置,位于第一行的前面。next()方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,否则返回false
  • 更新、添加与删除操作

    • 更新update 表 set 字段 = 新值 where<条件子句>
    • 添加insert into 表(字段列表)value (对应的具体的记录)
    • 删除delete from 表名 where <条件子句>
  • 使用预处理语句

  • 通用查询

  • 事务

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

  • 问题1:看过教材后JDBC的用途和意义不太明白

  • 问题1解决方案:参考《深入浅出JDBC-快速入门

    不同的可执行文件都能通过JDBC访问数据库,又兼备存储的优势。简单说它就是JAVA与数据库的连接的桥梁或者插件,用JAVA代码就能操作数据库的增删改查、存储过程、事务等。

    JDBC提供的接口包括:

    JAVA API:提供对JDBC的管理链接;JAVA

    Driver API:支持JDBC管理到驱动器连接。

    DriverManager:这个类管理数据库驱动程序的列表,查看加载的驱动是否符合JAVA Driver API的规范。

    Connection:与数据库中的所有的通信是通过唯一的连接对象。

    Statement:把创建的SQL对象,转而存储到数据库当中。

    ResultSet:它是一个迭代器,用于检索查询数据。

    URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:

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

  • 问题1:MySQL初始化失败

  • 问题1解决方案:

    使用管理员的身份打开cmd,再执行mysqld --initialize-insecure指令。如果之前已经以非管理员的形式执行了指令,一定要删除原来的data文件夹。如果提示“该文件正在被使用”,需要CTRL+SHIFT+ESC打开任务管理器关闭mysql进程即可正常删除data文件夹。

代码托管

上周考试错题总结

1.已知list是一个合法的集合引用,getCollection()返回一个合法集合的引用,下列合法的是?

A . for(Object o : list)

B . for(Object o : getCollection())

C . for(Object o : list.iterator())

D . for(lterator i ; list.iterator() ; i.hasNext() )

E . for(lterator i=list.iterator(); i.hasNext(); )

正确答案: B E

2.下列关于泛型类的子类的说法,正确的个数为

①LinkedList泛型类创建一个链表结构的对象。

②Stack泛型类创建一个堆栈对象。

③HashMap泛型类创建散列映射。

④DelayQueue泛型类创建一个无界阻塞队列。

⑤TreeSet泛型类创建树映射。

⑥Vector创建可增长的对象数组。

A . 6

B . 5

C . 4

D . 3

正确答案: B

解析:⑤TreeSet泛型类创建树集。

3.下列关于TreeSet泛型类常用方法的介绍,正确的是

A . public boolean contains(Object o) 如果此 set 包含指定的元素,则返回 true。如果指定对象无法与该 set 中的当前元素进行比较,或不包含,则返回false。

B . public boolean add(E e)将指定的元素添加到此 set。如果此 set 已经包含这样的元素,则该调用不改变此 set 并返回 false。

C . public boolean addAll(Collection<? extends E> c)将指定 collection 中的所有元素添加到此 set 中。如果此 set 由于调用而发生更改,则返回 true。

D . public E lower(E e) 返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。

正确答案: B C D

解析:A项:如果指定对象无法与该 set 中的当前元素进行比较,则抛出ClassCastException异常。

4.下列关于正则表达式的说法,正确的是

A . \ba\w*\b匹配以字母a开头的单词

B . \d+匹配1个或更多连续的数字。

C . \b\w{6}\b 匹配6个及以上字符的单词。

D . [0-9]代表的含意与\d就是完全一致的:一位数字

E . \S+匹配不包含空白符的字符串。

F . (\d{1,3}.){3}\d{1,3}用来匹配 IP地址。

正确答案: A B D E

解析C项:\b\w{6}\b 匹配刚好6个字符的单词。F项: IP地址中每个数字都不能大于255,该表达式忽略了这个约束条件。

5.下列说法正确的是

A . Java 8之前,对日期进行运算,使用DateFormat类。

B . 需要人类能理解的时间,建议使用Date类的toString()。

C . 现在国际上通用的标准时间是GMT。

D . new Date(System.currentTimeMillis())等价于new Date()

正确答案: D

6.What is the output of the following code?(下面代码的运行结果是?)

LocalDate date = LocalDate.of(2018, Month.APRIL, 40);
System.out.println(date.getYear() + " " + date.getMonth()
+ " "+ date.getDayOfMonth());

A . 2018 APRIL 4

B . 2018 APRIL 30

C . 2018 MAY 10

D . Another date

E . The code does not compile.

F . A runtime exception is thrown.

正确答案: F

解析:Java throws an exception if invalid date values are passed. There is no 40th day in April—or any other month for that matter.

7.下列哪个表达式是正确的(无编译错误)?

A . int m =Float.parseFloat("567");

B . int m =Short.parseShort("567")

C . byte m =Integer.parseInt("2");

D . float m =Float.parseDouble("2.9")

正确答案: C

8.对于如下代码,下列哪个叙述是正确的?

public class E {
public static void main (String args[]) {
String s1 = args[1];
String s2 = args[2];
String s3 = args[3];
System.out.println(s3);
}
}

A . 程序出现编译错误。

B . 无编译错误,在命令行执行程序:“java E I love this game”,程序输出this。

C . 无编译错误,在命令行执行程序:“java E let us go”,程序无运行异常。

D . 无编译错误,在命令行执行程序:“java E 0 1 2 3 4 5 6 7 8 9”程序输出3。

正确答案: D

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 24/24 1/4 15/15
第二周 423/423 2/6 14/29
第三周 702/1109 1/7 16/45
第四周 918/2027 2/9 16/61
第五周 1208/3235 2/11 15/76
第六周 1137/4372 2/13 14/90
第七周 549/4921 1/14 10/100

20165202 2017-2018-2 《Java程序设计》第7周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. [Deep Learning]任意层cnn的matlab版本实现

    之前实现了一层的卷积神经网络,又实现了两层的卷积神经网络,接下来把cnn扩展到任意层就不难了. 这难道就是传说中的“道生一,一生二,二生三,三生万物”么?=.= 代码还是在github上. 比较有趣的 ...

  2. MVC中关于 使用后台代码 检查 用户名是否已经被清册

    在 注册页面  NewUser 的 Controller中写以下代码 public  ActionResult GetUserIndataByUserName() { string UserName= ...

  3. nginx结合fastcgi

    1.首先安装nginx,这里采用编译安装 useradd -M -s /sbin/nologin nginx 安装一些依赖包: yum -y install pcre-devel libxslt-de ...

  4. 20145240《网络对抗》逆向及Bof基础实践

    逆向及Bof基础实践 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包 ...

  5. VS+Qt

    1.安装vs 2.安装qt[带msvc编译器的] 3.安装addin插件 4.新建qt app项目 5.在qt options里添加qt版本 路径添加到msvc那一层,如:E:\Qt5.9\5.9\m ...

  6. 推荐一个快速了解移植uboot以及linux到新板子上的ppt教程

    链接地址在此: https://elinux.org/images/2/2a/Schulz-how-to-support-new-board-u-boot-linux.pdf

  7. PHP 根据IP地址获取所在城市

    header('Content-Type:text/html;Charset=utf-8'); function GetIp(){ $realip = ''; $unknown = 'unknown' ...

  8. 爬虫框架Scrapy之Spider

    Spider Spider类定义了如何爬取某个(或某些)网站.包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item). 换句话说,Spider就是您定义爬取的动作及 ...

  9. [小问题笔记(六)] 解决JS已执行,输出内容乱码问题. 顺带总结编码相关知识

    问题: JS输出的内容出现了乱码.如图: 分析:既然年和月的数字可以正常显示,证明js加载和执行都没有问题 解决:把js引用处的编码方式改成当前页面编码一致.charset="gb2312& ...

  10. POJ 1236 Network of School

    http://poj.org/problem?id=1236 题意: 给出一个图,至少要选多少个点才能遍历全图和至少需要添加多少边使得整个图是强连通. 思路: 强连通计算连通分量后缩点,计算入度为0的 ...