发表于: 2017-07-26 22:10:38

2 988


DAY 6


一、今天完成步骤11,15,16


步骤11.查看深度思考中MySQL相关的一些问题,将自己思考的结果写在日报中

5.为什么DB的设计中要使用Long来替换掉Date类型?

MySQL中的Bigint类型相当于java中的Long类型。替换的原因不知道,请师兄指教


6.自增ID有什么坏处?什么样的场景下不使用自增ID?

设置自增ID后,ID不可重复,当删除记录后再录入新数据时,会出现ID不连续的现象。需要保持ID连续时不应该使用自增ID。


7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?

DB的索引相当于书本的目录,使用索引可以提高查询速度,数据量越大,性能差异越大。可以对经常使用的查询命令where子句里的字段建索引。


8.唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。

区别在于惟一索引不允许数据为空或重复。像身份证、QQ号、学号这些字段可以创建惟一索引。


9.如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?

不需要。添加惟一索引的列,数据不允许为空或重复。若插入的QQ号已存在于字段学员QQ中,那么系统会判定该命令无效。


10.CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?

插入新纪录时给CreateAt赋值,更新记录内容时给UpdateAt赋值。


11.修真类型应该是直接存储Varchar,还是应该存储int?

因为修真类型只有有限的几种,而且一旦写入一般不会更改,所以感觉可以在存储时使用tinyint类型,同时建立每种修真类型和整数之间的一一对应关系,比如java开发就用1表示,前端用2表示,这样不论是存储还是查找时速度都会更快,然后再创建一个表用于表示整数和修真类型之间的对应关系.感觉这样速度会更快一些


12.varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?

Varchar类型的字符串是可变长度字符串,最大长度为65535个字节,但实际存储的数据最大长度要比65535要小一些,因为varchar类型会用一个字节来记录该数据值的长度,如果值超过255个字节,那么会用两个字节记录..varcharText之间最主要的区别还是在于varchar可以指定默认长度,TEXT不能指定默认长度,使用时能用varchar的就不要用TEXT类型.


13.怎么进行分页数据的查询,如何判断是否有下一页?

这个我不知道= =


14.为什么不可以用Select * from table?

当表内记录多了以后,该命令结果集是表内所有记录,得到结果集的花费时间长且查出来的结果没有太大意义。配合使用where子句和索引可以提高查询速度。


-------------------- 分割线 --------------------


步骤15.创建一个新的maven项目

创建出来的maven工程目录结构如图



-------------------- 分割线 --------------------


步骤16.在src/main/java下随便创建一个java文件,clean.install查看本地的.m2下是否成功看到有Jar包

通过mvn package命令,生成该项目的jar包,执行完毕后,可以看到在工程target文件下生成了jar

然后再通过clean命令清理目标文件中的内容,执行完毕后,目录恢复到打包之前的结构

最后通过mvn install命令将jar包生成进本地仓库中,这样以后其他工程需要用到这个jar包时,可以直接在maven工程中添加依赖

执行完毕后,可以看到在本地仓库目录下生成该项目的依赖



二、收获

1.了解了数据库普通索引,唯一索引,自增ID,varchar变量等更为细节的内容

2.了解了maven的作用,它主要是用来管理项目和依赖,能够自动生成比较规范的项目结构,并且只需要在配置文件中进行配置就可以使用jar包,而且可以通过命令完成编译,运行,打包的过程,大大简化了程序员的工作,提高工作效率.


三、遇到的问题

暂无


四、明天计划

请问学长,接下来是先学JDBC还是Mybatis?


返回列表 返回列表
评论

    分享到