JAVA读取Excel表格,建数据库建表,并生成java实体实例

JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇通过JAVA读取Excel,将Excel表结构同步到数据库中,并生成java实体类。与上一篇类似,这里只介绍类说明,具体实现,可查看源码。

源码:

http://git.oschina.net/hzaccp/SyncDBJava

流程:
1:初始化数据库–>创建目标库–>创建元数据表
2:读取Excel–>封装为JavaBean–>添加不存在的表–>修改变动的表–>添加不存在的字段–>修改变动的字段
3:读取Excel–>封装为JavaBean–>生成相对应的java实体

同样,先介绍类结构:

Column.java和Table.java:列和表的实体
ConConfig.java:连接类的实体,包含用户名,密码和数据库地址

ConnectionHelper.java:数据库连接操作工具类,包括测试连接、打开、关闭连接
ExcelHelper.java:excel表操作工具类,用于将Excel表封装成javabean
MssqlDBHelper.java:对应sqlserver底层操作类,包括建库、建表、同步表及将数据库中tableMate和columnMate封装成javabean

SyncDbBiz.java 业务层,包括同步数据库和生成sql.
MainWindow.java 操作界面.

JavaCodeHelper.java:Java类操作的工具类,包括创建类、添加字段、添加方法、保存成.java文件等操作。
TypeMapping.java:数据库类型与Java数据类型映射工具类
EntityBuilderBiz.java:java实体生成业层,主要生成java类

Excel数据结构:

界面:

如果择选文件慢,在jvm中添加-Djxl.nogc=true.

生成的数据库结构:

生成的JAVA代码:

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个相对较复杂的问题,需要分几个步骤来实现。 1. 使用Java读取Excel文件 可以使用Apache POI这个库来读取Excel文件,具体实现如下: ```java FileInputStream inputStream = new FileInputStream(new File("path/to/excel/file.xlsx")); Workbook workbook = new XSSFWorkbook(inputStream); Sheet sheet = workbook.getSheetAt(0); //获取第一个工作表 for (Row row : sheet) { //遍历每一行 for (Cell cell : row) { //遍历每一个单元格 String cellValue = cell.getStringCellValue(); //将cellValue添加到对应的数据结构中 } } workbook.close(); inputStream.close(); ``` 2. 异步导入数据库 可以使用Java中的ExecutorService来实现异步操作,具体实现如下: ```java ExecutorService executorService = Executors.newFixedThreadPool(10); //创一个线程池,最多有10个线程同时执行任务 for (Object data : dataList) { executorService.submit(() -> { //将数据异步导入数据库中 }); } executorService.shutdown(); //关闭线程池 ``` 3. 自动生成代码 可以使用MyBatis Generator这个工具来自动生成代码,具体实现如下: 1. 编写一个XML文件,描述数据库中的表结构和生成Java类的属性、方法等信息。 2. 编写一个Java类,调用MyBatis Generator提供的API来生成代码。 这里给出一个简单的XML文件示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="mysql" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password=""> </jdbcConnection> <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <table tableName="student" domainObjectName="Student"/> </context> </generatorConfiguration> ``` 然后编写一个Java类,调用MyBatis Generator提供的API来生成代码: ```java List<String> warnings = new ArrayList<>(); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(new File("path/to/mybatis/generator.xml")); DefaultShellCallback callback = new DefaultShellCallback(true); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); ``` 以上就是实现Java读取Excel文件并异步导入数据库生成代码的大致流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值