springboot配置MyBatis Generator,连接MySQL数据库实现自动生成代码时,所有的表都提示
Table configuration with catalog null, schema null, and table 表名 did not resolve to any tables
项目种没有自动生成相关代码。
因为之前的项目都是连接的Oracle数据库,对比之前的generatorConfig.xml反复查找原因,没有发现xml文件配置错误。
后来发现是因为MySQL对数据库表名大小写敏感,我的MySQL数据库是小写的表名,我把表名大写了而且用双引号引起来了,并没有给我做大小写转换。
Oracle数据库表名默认是不区分大小写的,但是不知道为什么MySQL默认就区分了,总之被坑了。
查找资料:
tableName(必要):要生成对象的表名;
注意:大小写敏感问题。正常情况下,MBG会自动的去识别数据库标识符的大小写敏感度,在一般情况下,MBG会
根据设置的schema,catalog或tablename去查询数据表,按照下面的流程:
1,如果schema,catalog或tablename中有空格,那么设置的是什么格式,就精确的使用指定的大小写格式去查询;
2,否则,如果数据库的标识符使用大写的,那么MBG自动把表名变成大写再查找;
3,否则,如果数据库的标识符使用小写的,那么MBG自动把表名变成小写再查找;
4,否则,使用指定的大小写格式查询;
另外的,如果在创建表的时候,使用的""把数据库对象规定大小写,就算数据库标识符是使用的大写,在这种情况下也会使用给定的大小写来创建表名;
这个时候,请设置delimitIdentifiers="true"即可保留大小写格式;