zoukankan      html  css  js  c++  java
  • Java SE学习【三】——JDBC

      最近学到了数据库与java的jdbc方面,还有个DAO模式,写一下自己的理解,后期有什么不对的再改。

      一、数据库三范式的理解

      记得以前上课时,也上了一学期的“数据库系统原理”,给我们上课的老师算是渣渣学校里挺强的了,看得出来,比一般的老师强不少。据说是企业退下来,来我们这教的,然而并没有什么用。上了一学期,留在脑袋里的就三个单词。。欠下的债总是要还的,那时候没好好上,现在补吧,学了一个礼拜,感觉有点理解了。

      一开始,我理解的三范式是这样的:

      第一范式:表中的每个列都不可分割。

      第二范式:加入了主键。

      第三范式:加入了外键。

      感觉很片面,在经过了几天的问人与搜索后,感觉明白了不少,现在是这样的

      第一范式:保证了数据库内每个表中的元素都不可分割,每一列只会有一个属性,比如:产品名称:XXX;不可能是:产品名称/价格:XXX/XX;

      第二范式:属性之中只能有一个主键,被唯一标识。我的理解就是,比如一个人,你的姓名不能决定你是你,因为有重名;你的性别不能证明你是你,因为性别会重复。。。但身份证可以证明你是你,因为它独一无二。

      第三范式:为了消除数据冗余,一个表的数据多了以后,会出现一列中不断的重复几个相同的字,这时候就要分表了。但会查询起来麻烦。

      感觉第三范式比较难懂,但想到以前听一个人说的,1000个字差不多是1KB,空格也算,一些大厂开发的网页之中,代码之间没有空格与换行,就为了提一点速。这也是JS为什么要加“;”的原因。再想到jQuery,有开发版本与发布版本,之间就差了几百K的内存。第一次听到这种说法时,感觉头皮发麻,但想想竟有些认同,每一处的细节都做到了极致,完美的产品才会产生吧?这就叫工匠精神吧。软件工程师也是工程师啊!

      二、DAO与JDBC模式的理解

      JDBC就是一个中间层,是java发布一套标准,让数据库厂商去做一套代码。

      然后用java代码去连接,操作,关闭数据库的操作,一开始还要加载驱动。

      不需要知道里面的内容是怎么实现的,只要调用“一个”接口就行了。

      DAO也是这样,把重复的代码抽出去,到最后的业务逻辑层,只要去调用就可以了,不需要任何的实现方法写在里面。这样代码的可读性会很高。

      

      以上就是我这几天的理解了,下面是我的一些吐槽与感悟

      昨天,教员没来,布置了一个作业给我们做。题目有三个,他只说过第二个,第一第三都没说过,我做了一个下午,第一个也没写出来。但有思路。

      然后去请教了班里学的好的,他是个研究生,不得不佩服,学习能力是真的强。他思路很清晰,跟他讨论一会,我感觉这DAO模式其实也就那么一回事。

      下午的时候,不太懂一个接口的作用,和旁边一个同学一起去问一个人,他也讲出来了。

      去接水时,和我一起问的同学感慨:“毕竟考上本科的,和我们这种转本接本的渣渣不一样。”

      我说:“以前是我不想学,现在想学了……”

      他说:“说不定人家也不想学呢。。。”

      然后我就不自觉的给自己找了个年龄的借口,什么比同年级人小1岁之类的。

      人真的很奇怪,遇到挫折就不断的给自己找借口,仿佛这样能让自己好受一点,想起前几天看一个博主写的个签,真的霸气侧漏。

      只为成功找方法,不为失败找借口。

      

          

  • 相关阅读:
    List 与 Array 的相互转化及 List、Array、Set转为 String
    Java 序列化介绍及 Redis 序列化方式
    SpringBoot 整合 redis 实现 token 验证
    SpringBoot 整合 Redis 使用
    Map 某 value 为 对象数组,转为 ArrayList 对象集合
    JWT 基本使用
    Spring session + redis 实现 session共享入门
    HttpServletRequest + Filter 添加 header
    Git ahead(超前) 又behind(落后)
    web应用中路径跳转问题-相对路径、绝对路径
  • 原文地址:https://www.cnblogs.com/weixin-tt/p/9020774.html
Copyright © 2011-2022 走看看