问题:
最近使用JBolt极速开发平台的可视化设计模块,做新项目的代码生成工作。客户demo机器上的mysql版本是5.x,结果运行JBolt可视化设计器检索业务表的时候,表注释没出来:
正常情况下,JBolt默认都是Mysql8.x下开发,效果是这样的:
跟踪了一下JDBC底层getTabes方法,发现一个jdbc url上的配置参数,影响了这个结果:
结论:
在Mysql5.x版本下,使用jdbc的getTables 底层拿到的表数据里你是获取不到表注释信息的,因为5.x版本数据库中 useInformationSchema=false 默认 值是false,jdbcurl上 设置 useInformationSchema=true 就可以拿到了。
在Mysql8.x之后 useInformationSchema默认值是true,所以在mysql8下做代码生成时,可以默认获取到表注释信息。
那么,在JDBCURL上增加一个参数吧: useInformationSchema=true
jdbc_url = jdbc:mysql://127.0.0.1:3306/jbolt?characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull&databaseTerm=SCHEMA&nullDatabaseMeansCurrent=true&nullCatalogMeansCurrent=true&useInformationSchema=true&serverTimezone=Asia/Shanghai
再去看运行效果:
OK!!
企业用JFinal做极速开发,选JBolt不迷路!
JBolt极速开发平台,JFinal社区700+企业共同的选择,省心、省事儿、极速开发!