3.1~3.7学习周报

总结

本周并没有过多向前推进进度,因为发现新学的知识已经用到之前所学的内容,而自己又有所忘记,所以再保持每天都学一点新内容的同时,开始复习学过的内容。
新内容的学习主要集中在数据库的学习,学习了数据库的基本操作,也把视频课中的面试题和经典例题都做了一遍。但是作为第一次接触的新知识,一次的学习肯定还不够,如果不加以巩固肯定很快就会忘记。所以在后面的学习中也会复习数据库部分的知识。

关于数据库

因为有用Excel处理数据的基础,在学习数据库的时候能联想到一些二者在处理数据时的共通之处,逻辑上并没有大的问题,只是需要继续练习来熟悉Mysql操作数据的语句。
数据库以我个人的理解来说,是一门对熟练度要求大于对逻辑要求的语言(至少从目前见到的需求来说,逻辑层面真的不能说难。。),所以关于知识点,这里就不再多说,说另一件有意思的事。
这周在进行JDBC的示例代码时,在获取JDBC连接对象的代码中

`Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo","root","");`

也不知道出了什么问题,在用户名root密码为空的情况下出现了下面的错误
Access denied for user ‘root’@‘localhost’ (using password: NO)
从字面意思上来理解的话是拒绝了用户root的访问,于是很直接的想到了账户名密码错误或者权限不足的原因。我也没多想,直接从网上按错误信息找了解决办法,找到了一条修改权限的解决方案。

 grant all privileges on *.* to root@localhost identified by "密码" ;

上面的语句是在已经登录的root的query界面下执行的,但是再重启数据库后,我发现一个问题出大问题数据库直接登不上去了。。。在管理员权限的cmd窗口下执行mysql -u root -p,然后password输入’密码’也会告诉我无法进入数据库。
这对我来说可就有点超纲了。。于是在又在网上查找解决办法,但是像什么跳过用户权限进行登录的方法在我这里也统统没用,非常神奇。询问老师,老师很直接的告诉我说
“重装”
虽然我最后也是这么办的,但还是有点无法接受这种类似于“去网吧玩鼠标坏了网管让你重启电脑”的这种解决方式。最后的重装是备份了data文件夹,然后完全重装了mysql,这才解决了问题。
解决方案
所以,轻易不要更改root用户的信息;密码不要设置为中文;出现拒绝访问的提示时仔细检查自己输入的账户密码。

JDBC

1996年,Sun公司发布了第1版的Java数据库连接(JDBC)API,使编程人员可以通过这个API接口连接到数据库,并使用结构化查询语言(即SQL)完成对数据库的查找与更新。JDBC字词称为Java类库中最常使用的API之一。
根据Oracle的声明,JDBC是一个注册了商标的术语,而并非Java Database Connectivity的首字母缩写。对它的命名体现了对ODBC的致敬,后者是微软开创的标准数据库API,并因此写到SQL标准中。

在如今,更常见的客户端/服务器模型是三层模型。在三层应用模型中,客户端不直接调用数据库,而是调用服务器上的中间件层,由中间件层完成数据库查询操作。这种三层模型的优点是能将可视化表现(位于客户端)从业务逻辑(位于中间层)和原始数据(位于数据库)中分离出来。因此,我们可以从不同的客户端,来访问相同的数据和相同的业务规则。
客户端和中间层之间的通信在典型情况下是通过HTTP来实现的。JDBC管理着中间层和后台数据库之间的通信。下图展示了这种通信模型的基本架构。
三层结构的应用,和工厂模式有点类似

关于之前的内容

主要是在做一些练习题,对于已经忘记或者不熟悉的知识点,重新看一遍课程。目前主要在复习对于我手中项目来说非常重要的I/O部分的知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值