20165235 祁瑛 2018-4 《Java程序设计》第七周学习总结
教材学习内容总结
MySQL数据管理系统
MySQL数据管理系统
,简称MySQL
,是世界上流行的数据管理系统。MySQL
是网络数据库管理系统,可以使远程的计算机访问它所管理的数据库。- 在
Windows
上下载好MySQL
后,进入Windows
命令行,进入MySQL
的bin
文件目录输入--initialize-insecure
对MySQL
的data
目录进行初始化。然后可以在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
命令行中进行数据库操作,所以下载了MySQL
,Navicat
软件,同时也下载了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.自定义异常类可以更加明确的确定位异常出错的位置和给出详细出错信息。
-
FileInputStream
类继承自InputStream
可以以字节读取文件。
- 31.
ByteArrayOutputStream(int size)
缓冲默认大小由size决定。 - 36.
BufferedWriter
流可以指向FileWriter
流。 - 44.
java
使用throw
抛出一个异常,使用throws
声明方法可以抛出异常。 - 45.对于严重的错误,通过
Error
类来描述,而对与非常严重的错误,则通过Exception
类进行描述。
的六周错题总结:
- 6.如果指定对象无法与该
set
中的当前元素进行比较,则抛出ClassCastException
异常。w{6}
匹配刚好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 |