Springboot实现:通过excel文档自动在oracle数据库中建表 2021
实现功能
自动建表 只要将exce文档l传入程序 他就会自动执行,自动在oracle数据库中建表
事情起因:
昨天,项目经理让我建表,一般一两张表,建就完了,不在话下,随便几下就建好了,可偏偏他喵的一堆表,一堆字段,我的妈耶
我当时看完人傻了,我想了又想,这玩意真完完整整建下来,一天就废了,而且可能啥也学不到,一天下来不是在建表的路上就是在excel里复制然后粘贴的途中,所以我毅然决然的决定他喵的写个小程序吧 虽然我还是个菜鸡!
这个可能还不算程序,就当是一个小功能吧!
功能展示
先看下效果图
excel文档:(格式是固定的,但也可以自行更改程序代码,小编时间原因格式没有设置的很好,表名及表名注释需写在第二行)
然后将准备好的excel文档通过postman传入程序:
程序执行完成后,数据库中的样子(主键或联合主键 字段类型,非空约束及注释都能实现导入,外键暂不支持,可以自己设置)
主键:
实现流程
导入依赖
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.table</groupId>
<artifactId>create</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<lombok.version>1.18.10</lombok.version>
<mybatis-spring-boot-starter.version>2.1.2</mybatis-spring-boot-starter.version>
<mysql-connector.version>5.1.47</mysql-connector.version>
<commons-lang3.version>3.9</commons-lang3.version>
<pagehelper-spring-boot-starter.version>1.2.13</pagehelper-spring-boot-starter.version>
<mail.version>1.4.7</mail.version>
<pulsar.version>2.6.0</pulsar.version>
</properties>
<!--增加springboot parent依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--aop配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--jsr303验证-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!--mybatis 配置-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot-starter.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>mysql</groupId>-->
<!-- <artifactId>mysql-connector-java</artifactId>-->
<!-- <version>${mysql-connector.version}</version>-->
<!-- </dependency>-->
<!--Oracle-->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<!--redis 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--test测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- 这里使用 swagger-bootstrap-ui 替代了原有的ui~ -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>