首先根据数据库的schema信息查询出所有的数据库表的集合,之后迭代表集合,再查询出每张数据表的列字段信息集合列表,之后通过封装成javaBean对象,再使用freemarker模板引擎导出HTML文件即可。
application.properties文件:配置数据库连接信息和schema名称以及导出的路径
static/table-info.xml文件:配置导出的表信息
spring.datasource.url=jdbc\:mysql\://127.0.0.1\:3306/lmstest?characterEncoding\=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.check-config-location=true
mybatis.config-location=classpath:mybatis-config.xml
#user config
com.feizi.schema.name=lmstest
#export path
com.feizi.export.folder=F:/htmlTemplate
需要注意的是: 导出路径的文件夹需要提前创建好,否则会报错,不过可以自行改造
- 导出所有表
<module name="所有模块" type="all"/>
- type类型为prefix,表示按照指定的table类型导出,比如eaxm前缀,则表示导出考试模块
<module name="爱问模块" type="prefix" table="ask"/>
- type类型为table,表示按照指定的table表名导出,比如执行user_info,user_config
<module name="考试模块" type="table" table="exam_info,user_info"/>
test/resources里面也需要拷贝相应的配置文件
执行com.feizi.controller.ExportDictionaryControllerTest测试用例的testExportDictionary()方法即可。