当前使用版本(必填,否则不予处理)
3.5.3.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
数据库使用sql server,代码生成时,getTableInfoList 出现 NullPointerException 错误
重现步骤(如果有就写完整)
报错信息
Exception in thread "main" java.lang.NullPointerException at com.baomidou.mybatisplus.generator.type.TypeRegistry.getColumnType(TypeRegistry.java:81) at com.baomidou.mybatisplus.generator.query.DefaultQuery.lambda$convertTableFields$1(DefaultQuery.java:124) at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at java.util.Collections$UnmodifiableMap.forEach(Collections.java:1507) at com.baomidou.mybatisplus.generator.query.DefaultQuery.convertTableFields(DefaultQuery.java:109) at java.util.ArrayList.forEach(ArrayList.java:1259) at com.baomidou.mybatisplus.generator.query.DefaultQuery.queryTables(DefaultQuery.java:86) at com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder.getTableInfoList(ConfigBuilder.java:152) at com.example.mybatisplusgeneratortest.MybatisPlusGeneratorTestApplication.main(MybatisPlusGeneratorTestApplication.java:21)
Comment From: zhangyangziwo
可能是因为sql server自带的INFORMATION_SCHEMA和sys两个schema具有同名的视图造成的;这些是系统自带的视图,无法修改,请教使用的时候,如何解决? 按说配置enableSchema应该可以生效,但是没起作用
Comment From: PeterBon
我也遇到了
Comment From: PeterBon
修改DatabaseTableServiceImpl.java,在生成DataSourceConfig时添加schema("dbo")过滤只查询dbo的表和视图可以解决
Comment From: qmdx
默认 jdbc 获取表方式可能是 sqlServerr 未实现 jdbc 获取表协议,建议采用指定数据库查询处理类方式DataSourceConfig.Builder().dbQuery(new SqlServerQuery()) 如果还是未解决建议 PR