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


    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异常。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

    参考资料

  • 相关阅读:
    【VectorDemo】
    【列表迭代器:添加元素】
    【列表迭代器】
    【迭代器】
    【LinkedList】
    【list 集合的使用】
    【CollectionDemo2】
    【CollectionDemo1】
    【集合和数组的区别?】
    【到底使用那种集合?】
  • 原文地址:https://www.cnblogs.com/qy20165235/p/8846785.html
Copyright © 2020-2023  润新知