application.yml怎么配置mybatis-plus 修改时id不能为空
时间: 2023-08-04 20:08:19 浏览: 103
在使用MyBatis-Plus进行修改操作时,如果实体类的主键id为空,则MyBatis-Plus会更新整张表的数据,这是一种非常危险的操作。因此,我们需要在application.yml中进行相关配置以避免这种情况的发生。
具体来说,我们需要在application.yml中添加如下配置项:
```yaml
mybatis-plus:
global-config:
db-config:
logic-delete-field: deleted
logic-delete-value: 1
logic-not-delete-value: 0
```
这个配置项会告诉MyBatis-Plus使用逻辑删除的方式来更新数据,即将数据标记为已删除而不是真正的删除。同时,这个配置项还可以指定逻辑删除所使用的字段名和标记已删除和未删除的值。
当我们在进行修改操作时,只需要将实体类的id属性设置为非空即可避免id为空的情况。同时,在进行查询操作时,我们也可以使用MyBatis-Plus提供的逻辑删除功能来查询已删除的数据。
需要注意的是,这个配置项只对使用了MyBatis-Plus的实体类有效,如果您使用的是普通的实体类,则需要在实体类中手动设置逻辑删除的相关属性。
相关问题
application.yml里的配置mybatis-plus.configuration.log-impl 的 logback
在application.yml中配置MyBatis-Plus的日志实现log-impl时,可以使用logback作为日志实现。具体的配置如下所示:
```yaml
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
```
在这个例子中,我们将log-impl设置为`org.apache.ibatis.logging.slf4j.Slf4jImpl`,这将使用logback作为MyBatis-Plus的日志实现。Slf4jImpl是MyBatis提供的Slf4j日志适配器,通过这个适配器,MyBatis-Plus的日志信息将会被logback接收并进行处理。
请注意,为了使logback正常工作,还需要在项目的依赖中添加logback和Slf4j的相关依赖。例如,可以在pom.xml中添加以下依赖:
```xml
<dependencies>
<!-- 其他依赖 -->
<!-- logback 相关依赖 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
```
希望这个回答能够帮助到你!如果你还有其他问题,请随时提问。
Failed to bind properties under 'mybatis-plus.mapper-locations[1]' to java.lang.String: Property: mybatis-plus.mapperlocations[1] Value: classpath*:mapper/${mybatis-plus.datasource.type}/**/*.xml Origin: class path resource [application.yml]:90:7 Reason: Could not resolve placeholder 'datasource.type' in value "${datasource.type}"
这个错误是因为你在使用Mybatis-Plus框架时,配置文件中读取不到${mybatis-plus.datasource.type}这个属性的值。这个值应该是你配置的数据源类型,但是在配置文件中未定义或者未被正确解析。
解决这个问题的方法是在配置文件中定义这个属性的值,比如:
```yml
mybatis-plus:
datasource:
type: mysql
mapper-locations:
- classpath*:mapper/mysql/**/*.xml
```
其中,type的值为你所使用的数据源类型,mapper-locations中的路径也需要根据你的实际情况进行修改。
如果你的数据源类型是动态获取的,可以使用Spring的Environment对象来获取这个值,比如:
```yml
mybatis-plus:
datasource:
type: ${spring.datasource.type}
mapper-locations:
- classpath*:mapper/${spring.datasource.type}/**/*.xml
```
这样,就可以在运行时动态获取数据源类型,并正确解析配置文件了。
阅读全文