发表于: 2020-04-27 18:24:45

2 1236


I'm back!

本来说好是一周就回来的,不过好像食言了,最近学到了SSM框架,因为对Web的项目经验不多所以一直在GitHub上找别人的项目,今天看看其实可以开始任务了,话不多说直接开始。


今天完成的事情:

首先重新看一下任务,划分一下任务节点:创建数据库、熟悉数据库基本操作、Maven的使用(Maven没有要求,我是用来快速导入jar包的哈哈哈哈)、使用JDBC连接数据库(Mybatis等过几天学完SSM框架后再说叭)、编写DAO、使用Junit单元测试实现增删改查、服务器的简单部署(远程连接数据库使用Navicat就可以实现)、学习Spring和Junit(这是为了更加方便地实现前面的操作)、在服务器上跑一遍程序(至于步骤23-28是为了规范代码,合理使用TryCatch和批处理就可以达到目的)、最后应该提交的是一个可以展示的成果(看了一下师兄的代码没有展示所以就先不考虑web项目的事,只提交代码就可以了,注意代码中要有测试类)


思路整理出来了,现在是13:22,开搞!


首先建DB,这里找到了一个月前的DB:


然后插入一条数据:


这里就随便找了一条回复,使用sql命令列插入:


看一下有没有问题:


找到我之前的那个Maven项目:


首先我们需要一个domin来匹配数据库:


接下来写DAO接口:


连接MySQL直接使用C3P0连接池来做一下:


然后来写一个JDBCUtils来配置一下连接:


还有自己写的一个工具类TxQueryRunner,主要是将QueryRunner中的所有需要传入Connection的方法做一下修改,使其不需要每次调用都输入connection对象,避免重复调用:


这时候基本配置完毕,可以开始写DAO实现类了:

这是add()方法,后面的delete()、update()、query()与这个方法的实现差不多


然后编写一个测试类看一下可不可以实现:


然后做一下小小的修饰,完善一下DAO:

这时我发现一个问题就是我的表和项目都是之前的了,所以不太规范,需要严格遵守JavaBean规范,所以改了一下:

测试之后没有问题,增删改查可以全部实现


接下来我们来做一下批处理插入3000万条数据:

首先删除所有数据:


修改c3p0的配置文件使myql开启批处理:


然后编写测试代码:


经过测试,插入100万:

插入三千万会报内存溢出的错,所以我采用师兄的做法,一次插入300万,分十次插入:

差不多0.4个小时,感觉有点慢,不知道有没有什么解决方法


插入2亿:emmmm这个就没弄了,有点费时间,主要是理解批处理以及内存的问题就可以了,所以这个就不做了。


最后放上代码链接,任务一就基本做完了


明天计划的事情:学习SSM框架

遇到的问题:一次是JavaBean规范问题,一次是内存溢出问题
收获:熟悉了一遍dao操作


返回列表 返回列表
评论

    分享到