20165235 祁瑛 2018-4 《Java程序设计》第七周学习总结

教材学习内容总结

MySQL数据管理系统

  • MySQL数据管理系统,简称MySQL,是世界上流行的数据管理系统。
  • MySQL是网络数据库管理系统,可以使远程的计算机访问它所管理的数据库。
  • Windows上下载好MySQL后,进入Windows命令行,进入MySQLbin文件目录输入--initialize-insecureMySQLdata目录进行初始化。然后可以在bin目录下再次输mysql启用MySQL。启用MySQL后不能通过关闭命令行来结束进程,要使用Windows上的任务管理器来结束进程,可以使用快捷键shift+ctrl+Esc
  • 可以下载Navicat软件,这是一个不错的MySQL客户端管理工具(但是要收费,我使用的是免费版的)。然后根据教材的步骤建立链接。
  • MySQL占用的是3360端口。主机名可以直接写成localhost。(取的是MySQL在服务器所在的计算器的域名或IP)
  • JDBC-MySQL驱动可以使Java应用程序和MySQL数据库建立连接。
  • 程序常用的JDBC进行如下操作:1.与一个数据库建立连接。2.向已连接的数据路发送SQL语句。3.处理SQL返回的结果。
  • 使用JDBC-数据库驱动方式和数据库建立连接需要经过以下步骤:1.加载JDBC-数据库驱动。2.和指定的数据库建立连接。
  • 在MySQL官网上下载mysqld-connector-java-bin.jar文件,然后复制到jdk1.8/jre/lib/ext目录下。
  • 驱动JDBC代码如下:
try{  Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
  • 启动JDBC驱动之后要建立连接,建立连接代码如下:
connection con;
String uri=
"jdbc:mysql://localhost:3306/students?useSSL=true";
try{
con= DriverManager.getConnection(uri,user,password);
}
catch(SQLException e){ }
  • 如果用户密码是123可以将&password=改成&password=123即可。

查询操作

  • 和数据库建立好连接后就可以使用JDBC提供的API和数据库交互信息,查询,修改等操作。
  • 向数据库发送SQL语句
try {
statement sql =con.ctrateStatement();
}
catch(SQLException e){}
  • 有了SQL对象就可以调用相应的方法实现数据的查询操作,并将查询操作存放在ResultSet类声明的对象中。例如以下代码:
ResultSet rs = sql.executeQuery("SELECT*FROM student"),//此处我建立的数据库名为student

如教材代码查询的是mess表:

rs=sql.executeQuery("SELECT * FROM mess");
  • 最后有一步是要关闭连接如con.close()

教材Example11_1代码测试操作以及截图:

  • 这次我是在Windows下的dos命令行中进行数据库操作,所以下载了MySQLNavicat软件,同时也下载了JDBC-数据库驱动mysqld-connector-java-bin.jar并要把这个.jar文件放在jdk1.8/jre/lib/ext目录下。完成这些之后按照课本上的教程初始化MySQL下的bin中的data文件目录,并启用MySQL,此为启用MySQL截图:

  • Navicat上与数据库建立连接并建立名为student的数据库,并建立mess表,如下图:

  • 然后在打开另一个dos命令行,运行Example11_1.java文件,运行结果如下:

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

  • 在本次的操作中遇到了不少问题

  • 问题一:在运行MySQL时报错如下:

  • 解决方法:我在网上下载到MSVCR120.dll文件然后复制到系统目录下的SysWOW64目录下结果依旧报错,之后又在网上搜到要下载修复程序对其进行修复,最后成功。截图如下:

代码托管1

代码托管2

上周考试错题总结

的五周错题总结:
  • 6.调用线性的interrupt()方法会抛出:CloseByInterruptException异常对象
  • 8.自定义异常类可以更加明确的确定位异常出错的位置和给出详细出错信息。
    1. FileInputStream类继承自InputStream可以以字节读取文件。
  • 31.ByteArrayOutputStream(int size)缓冲默认大小由size决定。
  • 36.BufferedWriter流可以指向FileWriter流。
  • 44.java使用throw抛出一个异常,使用throws声明方法可以抛出异常。
  • 45.对于严重的错误,通过Error类来描述,而对与非常严重的错误,则通过Exception类进行描述。
的六周错题总结:
  • 6.如果指定对象无法与该set中的当前元素进行比较,则抛出ClassCastException异常。\b\w{6}\b匹配刚好6个字符的单词。
  • 35.new Data(System.currentTimeMillis())等价与new Date()

感悟

  • 本次学习MySQL感觉学到了不少东西,对数据库也有了不少的了解。在进行操作的时候难免会遇上一些失误,重要的是要努力的想办法去解决,而不是依靠同学,老师(实在解决不了的是可以向老师,同学寻求帮助的)。而且在学习数据库的时候会用到一些SQL语句,学习SQL语句对于掌握MySQL数据库操作也是个重要的方法。因为上次没有敲完第八章的代码,这次我补交代码,补交代码链接在上。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 31/31 1/1 20/20 git的使用
第二周 373/404 2/3 18/38 java基本数据语法
第三周 547/920 1/4 22/60 类与对象以及打包
第四周 919/1839 2/6 30/80 子类与继承,接口和面向接口编程
第五周 500/2300 3/9 20/ 100 输入输出流以及内部类
第六周 300/2600 1/10 25/125 泛型与集合框架,常用实用类
第七周 447/3047 3/13 25/150 MySQL数据库与JDBC

参考资料

20165235 祁瑛 2018-4 《Java程序设计》第七周学习总结的更多相关文章

  1. 20165235 祁瑛 2018-4 《Java程序设计》第九周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 UR类是java.net包中的一个重要类,使用URL创建的对象的应用程序称作称作客户端 ...

  2. 20165235 祁瑛 2018-3 《Java程序设计》第四周学习总结

    20165235 祁瑛 2018-3 <Java程序设计>第四周学习总结 教材学习内容总结 第五单云总结 (一)子类与继承1.java中子类只能有一个父类,在类名前用extends标记.2 ...

  3. 20165235 祁瑛 2018-4 《Java程序设计》第八周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第八周学习总结 教材学习内容总结 操作系统与进程 程序是一段静态的代码,它是应用软件执行的蓝本.进程是程序的一次动态执行过程,它对 ...

  4. 20165235 祁瑛 2018-4 《Java程序设计》第六周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第六周学习总结 教材学习内容总结 常用实用类 (一)1.String类是final类型的,String类型常量也是对象.2.可以使 ...

  5. 20165235祁瑛 2018-3 《Java程序设计》第三周学习总结

    20165235祁瑛 2018-3 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.jav ...

  6. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  7. 2018-03-11 20165235祁瑛《Java程序设计》第二周学习总结

    2018-03-11 20165235祁瑛<Java程序设计>第二周学习总结 教材学习内容总结 第二章要点: 在这一章中我学到了很多东西: (1)布尔类型boolean,布尔类型的赋值只能 ...

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

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

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

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

随机推荐

  1. tornado的异步效果

    第一种方式: import tornado.ioloop import tornado.web from tornado import gen from tornado.concurrent impo ...

  2. 04 if条件判断 流程控制

    条件判断 if 语法一: if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例: sex='female' age=18 is_beautiful=True if sex == ' ...

  3. The word 'localhost' is not correctly spelled 这个问题怎么解决

    The word 'localhost' is not correctly spelled 这个问题怎么解决 有时工程中有下划线并提示 The word is not correctly spelle ...

  4. GitHub访问慢

    问题描述 一直都觉得访问 GitHub 时速度非常慢,刷新一下都要等好久!于是尝试一下能否解决掉... github.com assets-cdn.github.com avatar2.githubu ...

  5. Linux永久修改IP地址

    通常我们为了快速修改IP地址,会这么做 ifconfig eth0 192.168.0.2 netmask 255.255.255.0 这样修改IP地址后,你再运行ifconfig命令后,的确IP地址 ...

  6. Confluence 6 管理协同编辑 - 修改你的 Synchrony 配置

    你不能通过 Confluence UI 修改 Synchrony 的配置.配置的修改是通过系统属性进行修改的.在绝大部分情况下,你不需要对默认的配置进行修改.  修改 Synchrony 运行的端口. ...

  7. mysql老是停止运行该怎么解决

    你可能还会遇到无法启动mysql的错误 解决方法如下:

  8. LeetCode(124):二叉树中的最大路径和

    Hard! 题目描述: 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不需要经过根节点. 示例 1: 输入: [1, ...

  9. python基础之迭代器与生成器

    一.什么是迭代器: 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器是一个可以记住遍历的位置的对象. 迭代器的 ...

  10. bzoj3276磁力 两种要求下的最大值:分块or线段树+拓扑

    进阶指南上的做法是分块的.. 但是线段树搞起来也挺快,将磁石按照距离排序,建立线段树,结点维护区间质量最小值的下标 进行拓扑,每次在可行的范围内在线段树中找到质量最小的下标取出,取出后再将线段树对应的 ...