发表于: 2017-09-15 23:50:12

1 814


今天完成的事情:

1 创建数据库连接池

         插入1000条数据。

Jdbc

使用mybatis

测试DB中断后try cacth

Trycatch是可以正常用的。只不过没有数据库连接不能进行操作。

100w条数据无索引

第一次就单纯的将循环改为100w次,结果运行的时间太久了。。。十几分钟才2w多,所以停下来。还要去找快的方法。

2.深度思考

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

 数据库中,如果数据量大而且字段赋予字节太大,会让查询时速度很慢,所以在使用varchar时最好可以根据数据的一般长度然后来确定,比如姓名就确定汉字占得字节,然后再定长度。

Text是保存字符数据,并且长度更长一些适用于存储内容较大的情况。一般使用varchar在超过255时使用text

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

因为在实际情况中表中的数据量一般都比较大,所以*会全部查到数据,浪费了资源而且还慢,还会影响查看需要的数据。

15.什么是贫血模型,什么是充血模型?为什么我们会强制要求使用贫血模型?

贫血模型:所谓贫血模型,是指Model 中,仅包含状态(属性),不包含行为(方法),采用这种设计时,需要分离出DB层,专门用于数据库操作。就是只有getset方法。

充血模型:Model 中既包括状态,又包括行为,是最符合面向对象的设计方式。

16.Spring中的IOC是什么意思,为什么要用IOC而不是New来创建实例?

IOC是控制反转,我自己的理解是spring 所有的类都放入IOC容器然后再其他对象需要调用的时候主动的注入,这样可以消除类与类之间的依赖关系,从而使代码更加灵活。

17.为什么要使用Interface,而不是直接使用一个实体类来完成任务?InterfaceImpl这种方式的好处是什么?

可以直接使用实体类来完成任务,但是使用interface的好处主要在解耦合,就是将实现代码和接口都分离,这样可读性也比较高,另外需要修改也比较方便。也是代码的一种规范。

18.为什么要处理异常,Try/Catch应该在什么样的场景下使用,在真实的系统中,会出现网络中断,DB连接不上的错误吗?多久会发 生一次?

因为一般程序如果没有异常处理,出现问题就会中断不能继续运行,导致程序崩溃。Try/catch应该用在不能预料到是否有会出错的场景中,比如测试别人的接口,或者在与数据库交互中,可以记录错误。自己想法是真实的系统中也会出现网络中断连不上DB的情况,出现的时间。。不太清楚。

明天的计划:

任务一基本做完了,明天再去查一下用jdbc快速插入的方法。

整理任务一,准备提交任务。

遇到的问题:

连接池插入1000调数据时报错,因为mysql设置的最大连接数是150,所以超过了就会报错,在配置文件里面改了最大连接数1000之后就好了

Idea重新装了以后以前的代码跑起来有点问题,查了以后解决了。

收获:

今天基本完成了任务一,然后对jdbc连接池的概念有了了解,明天实现一下



返回列表 返回列表
评论

    分享到