MyBatisPlus连接SQL Server代码自动生成报com.microsoft.sqlserver.jdbc.SQLServerException: 列名 'TABLE_NAME' 无效
配置好多数据源,打算连接新数据源生成代码测试一下能否正常使用
修改好代码自动生成器的数据源链接和驱动名称,(代码生成器:https://mp.baomidou.com/guide/generator.html#%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B)
DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:sqlserver://xxxxxxxxxxx;database=xxxxxxx"); dsc.setDriverName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); dsc.setUsername("xxxxx"); dsc.setPassword("xxxxxxxxxxxxxxxxx"); mpg.setDataSource(dsc);
之前连接MySQL的时候,已经使用过代码生成器,所以信心满满得点击运行按钮,输入模块名,正常,输入表名
我就知道老天爷不会轻易放过我
列名TABLE_NAME?表单里并没有这个字段,推测是代码生成器在读取输入表单内容的时候自己拼凑了SQL语句,遇到SQL Server的时候语句出了问题。刚好做上一个项目时试过自动生成SQL Server的数据库表单代码,上一次可以正常生成,而偏偏这次出了问题。
首先想到mybatis-plus和mybatis-generator的版本出了问题,上一次使用的版本为3.2.0,这次使用的版本为3.3.1,降低版本试试。
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> </dependency>
再次运行