您的位置 首页 > 娱乐休闲

批量导入数据到数据库,使用最新的技术,来涨姿势啦(一)

现今互联网什么最宝贵?数据!

关于数据库数据的批量导入和导出功能,是每个网站必备的功能。今天我们用最新的技术把这一功能实现一下。

使用技术:

  • 前端Angularjs

  • 后端SSM(SpringMVC、Mybatis、Spring)

  • 关于excel解析规范,使用现成的jar包:Apache POI

  • 数据库可是使用传统的关系型数据库,也可以是现在流行的nosql数据库。

我主要讲逻辑和逻辑的封装,底层的jdbc和一些很基础的就不讲了。本文分两讲,这是上篇,说的是导入功能。

导入Excel:

导入Excel到数据库就是把excel的数据逐条读取到内存(比如存在HashMap中或者ArrayList中),然后通过jdbc插入到数据库,无非以下几个步骤:

  1. 编写前端页面,提供excel模板下载链接也页面。

  2. 后台是使用POI解析excel,(poi是一个现成的jar包,你可以理解成里边是按照excel的规范编写的解析器就行了),拿到所有数据。

  3. 通过jdbc写入数据库,我们这里采用mybatis动态sql,实际开发是很少使用原声jdbc的。

就这3步就够了,最麻烦的就是解析excel,其他的都是基本的编程思路,我着重写解析excel吧,然后把解析过程封装成一个工具类,放到github,文末有共享连接。

编写前台页面:使用Angularjs和bootstrap,前台用什么技术无关导入功能,你开心就好,我们这里使用最新的富客户端技术,你稍微体验一下就好。

前端调用方式:(mvc)html——》cotroller——》service——》api,内置ajax异步请求:

html层(视图层)

controller(控制层)

service

api(所有的异步请求链接单独存放,方便管理)

后台 使用Spring mvc + Spring + Mybatis:这里着重写excel的解析,好好看。

使用最新的国际提倡的RESTful风格,请求顺序:controller——》Service——》dao,mvc架构。

下载excel模板的controller

处理导入数据的excel的controller

service,主要是检验excle的数据是否符合规范,这里简单写,你改成你的校验要求就行

这里是excel的解析,封装poi的整个类,在文末有git共享链接,主要功能如下:

  • 导入excel文件,返回List<Map<String, Object>>

  • 根据excel模版创建文件(map<String, Object>或者javaBean或者ResultSet数据源)

  • 根据excel模版创建文件(model)

  • 根据excel模版创建文件(ResultSet rs)

excel文件转换成List<Map<String,Object>>

如上对excel的操作,封装成了一个工具类,包含导入和导出,你可以拿去直接在你的项目中使用,github如下:

数据库操作就不截图了。我这里使用的是mybatis的动态sql语句,你可以根据你的数据库,编写相对应的sql语句。


我是90后程序员,如果你热爱编程,喜欢互联网,可以关注一下我@两毛五哥哥,每天分享不一样的互联网知识,带小白飞,跟大神侃,我的格言是:做人不必优秀,要无可替代!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“数据库如何导入,数据库如何导入sql文件,数据库如何导入数据,数据库如何导入文件”边界阅读