application.yml怎么配置mybatis-plus 修改时id不能为空
时间: 2023-08-04 11:08:19 浏览: 52
在使用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 修改时id不为空
在使用MyBatis-Plus进行修改操作时,如果实体类的主键id不为空,则MyBatis-Plus会将id作为更新条件,如果id为空,则会更新整张表的数据,这是一种非常危险的操作。因此,我们需要在application.yml中进行相关配置以避免这种情况的发生。
具体来说,我们需要在application.yml中添加如下配置项:
```yaml
mybatis-plus:
global-config:
db-config:
id-type: auto
```
这个配置项会告诉MyBatis-Plus使用自增的方式生成主键id,当我们在进行修改操作时,只需要将实体类的id属性设置为自增即可避免id为空的情况。同时,这个配置项还可以指定其他的主键生成策略,如雪花算法等。
需要注意的是,这个配置项只对使用了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>
```
希望这个回答能够帮助到你!如果你还有其他问题,请随时提问。