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

教材学习内容总结

根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解

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

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

  • 应用程序在和MySQL数据库服务器上的数据库建立连接后,能够和数据库交互信息,在将数据库驱动放到JDK的扩展目录后,加载数据库驱动

try{ Class.forName("com.mysql.jdbc.Driver");
{
catch(Exception e){}

连接数据库使用java.sql包中的DriverManager类中的类方法Connection getConnection来建立连接

  • 查询操作分三个步骤:①向数据发送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语句的基础上进行关键字按条件排序,然后获取信息
  • 更新、添加与删除操作,首先创建Statement对象,然后用该对象调用方法public int executeUpadte(String sqlStatement)来进行操作

    ①更新:update 表 set 字段 = 新值 where <条件子句>

    ②添加:insert into 表 values (对应的具体记录)

    ③删除:delete from 表 where <条件字句>
  • 使用预处理语句(PrepareStatement) 可以对指定的SQL语句进行预编译处理,提高程序执行效率。PrepareStatement对象可以调用这三个方法来使得底层内部命令被数据库执行:

    ①ResultSet executeQuery()

    ②boolean execute()

    ③int executeUpdate()
  • 通配符的使用
  • 通用查询。ResultSet对象调用调用getMetaData()方法返回一个ResultSetMetaData对象,然后这个对象就可以调用getColumeCount()方法来返回结果集中列的数目;也可以调用getColumnName(int i)方法可以返回结果集中第i列的名字
  • 事务由一组SQL语句组成;事务处理是指应用程序保证事务中的SQL语句的执行与否是同步的,这可以保证数据库中数据的完整性与一致性
  • JDBC事务处理步骤:

    ①和数据库的连接对象(例如con)的提交模式是自动提交模式,即它产生的Statement对象对数据库提交的SQL语句都会立刻升序,因此为事务处理,con可以调用setAutoCommit(false)方法来关闭自动提交方式,接着再像之前那样获取Statement对象sql

    ②con可以调用commit()方法让SQL语句全部生效

    ③当con调用commit()方法进行事务处理时,只要其中一个SQL语句未能生效,就抛出SQLException异常,处理异常时要调用rollBack()方法,来撤销已经成功执行的SQL语句,以此来达到事务处理的效果
  • 介绍了SQL Server数据库的下载与连接建立
  • Derby数据库是Java平台提供的一个数据库管理系统,虽然它占空间小,但是支持几乎大部分的数据库应用所需要的特性。应用程序连接Derby数据库需要两个步骤:

    ①加载Derby数据库驱动程序:Class.forName("org.apache.jdbc.EmbeddedDriver");

    ②创建并连接数据库或连接已有的数据库:Connection con=DriverManager.getConnection("jdbc:derdy:students;create=true");这里create取true,若没有该数据库,则创建。如果将create取false,那么只能连接已有的数据库而不能创建

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

  • 怎样启动MySQL数据库服务器:在MySQL安装目录的bin子目录下键入mysqld或mysqld -nt 启动MySQL数据库服务器。
  • JDBC-MySQL数据库驱动的jar文件应该复制到JDK的扩展目录中(即JAVA_HOME环境变量指定的JDK,见第1章的1.3.3),比如:E:\jdk1.8\jre\lib\ext。
  • 预处理语句的好处:减轻数据库内部SQL语句解释器的负担。
  • 事务由一组SQL语句组成,所谓事务处理是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。事务处理步骤是调用:(1)连接对象用setAutoCommit()方法关闭自动提交模式,(2)连接对象用commit()方法处理事务,(3)连接对象用rollback()方法处理事务失败。

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

代码托管

本周无考试

心得体会

本周学习了如何使用Java数据库,这对我来说是全新的层面,在程序设计基础C语言的学习中从未接触过,所以具有一定挑战,同时本周任务同样繁重,算上实验三共有四篇博客需要完成,下周二还要通过科目三的考试,好在即将到来的五一假期能让人好好休息。

学习进度条

代码行数 博客量 学习时间 重要成长
目标 5000行 16篇 320小时
第一周 51/100 1/1 12/20 基本掌握了Linux的简单指令
第二周 173/200 1/1 18/20 学习了Java重要基本语法
第三周 672/800 1/1 18/20 学习了包含多个类的Java程序及类的包机制
第四周 436/600 1/1 12/20 学习程序父类和子类的继承规则
第五周 573/600 1/1 10/20 学习通过类来实现接口和接口回调
第六周 1182/1200 1/1 20/20 学习内部类、匿名类、异常类和File类
第七周 491/600 1/1 14/20 学习了Java的常用实用类
第八周 1302/1500 4/4 22/25 学习了Java的泛型类和单元测试的方法
第九周 624/800 3/3 18/20 学习使用MySQL数据库服务器
  • 计划学习时间:18小时

  • 实际学习时间:20小时

参考资料

20175314 《Java程序设计》第九周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第九周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...

  2. 20145220java程序设计第九周学习总结

    20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...

  3. 201771010134杨其菊《面向对象程序设计java》第九周学习总结

                                                                      第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...

  4. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  9. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  10. 《Java》第九周学习总结

    下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新

随机推荐

  1. 面向对象版Tab栏切换

    <div class="wrapper" id="wrapper"> <ul class="tab" id="t ...

  2. python之路——20

    学习内容 1.序列化——数据类型转向字符串数据类型 反序列化——字符串转向数据类型2.序列化模块 json模块 通用序列化格式 弊端:只有少部分数据类型可通过json转化 pickle模块 所有的py ...

  3. 你真的理解了for循环吗?反正我是没有

    for循环的执行步骤 咱们先来看一个有意思的关于for循环的程序 public class TestFor { public static void main(String[] args) { int ...

  4. 国家码和reginCode映射关系

    import org.apache.commons.lang.StringUtils; import java.util.HashMap; import java.util.Map; public c ...

  5. jupyter依赖tornado版本

    使用jupyter莫名奇妙出现500错误,发现是更新tornado出了问题,我的jupyter版本是5.7.4不支持6.x版本的tornado,回退到5.x版本的tornado就好了. pip ins ...

  6. ring0与ring3通信方式

    修改自: https://blog.csdn.net/wzsy/article/details/54929726 控制码方式详解: https://www.cnblogs.com/lsh123/p/7 ...

  7. Win2008服务启动不能调用Office Word的解决方法

    本文为大家分享一下如何解决Windows Server 2008 服务启动不能调用Office Word的问题,分享这个教程的原因是,今天在Windows server2008上部署一个应用时发现了一 ...

  8. django 三种缓存模式的使用及注意点

    Django 缓存模式的使用(主要针对RestFul设计模式的项目) 有三种模式: 全站使用缓存模式(整个项目每个接口都会使用缓存,缺点:所以接口都无法实时性获取数据) 单独视图缓存模式(单个接口使用 ...

  9. Linux守护进程管理利器——Supervisor

    Supervisor是采用 Python(2.4+) 开发的,它是一个允许用户管理 基于 Unix 系统进程的 Client/Server 系统,提供了大量功能来实现对进程的管理.安装: yum in ...

  10. thunderbird 163 smtp

    thunderbird 163 smtp 如果要正常发送,配置如下: server: smtp.163.com port: 465 auth: Normal password security: SS ...