1.版本依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
2.背景
我们项目中需要兼容ORACLE和MYSQL数据库,客户可以在其中选择任意一个,非同时接多数据源,再引入MP之后,自动生成sql语句没有加关键字,对于mysql的usage等字段名不加着重符号就会报错,MP提供了一种解决方案:如下在提供的注解中将字段拼上`可以解决问题,但是对于我们系统,要同时兼容mysql和oracle,所以不能使用这种方式。
@TableField("`name`")
private String name;
3.临时方案
①重写sql注入器并注入
@Bean
@ConditionalOnProperty(value = "jdbc.type", havingValue = "mysql")
public DefaultSqlInjector defaultSqlInjector() {
return new DefaultSqlInjector() {
@Override
public void inspectInject(final Mappe