当前使用版本(必填,否则不予处理)
版本 3.0.7.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
重现步骤(如果有就写完整)
- 实体类:@Data @NoArgsConstructor @AllArgsConstructor @TableName("user") public class User { private Long id; private String name; private Integer age; @TableField(fill = FieldFill.INSERT_UPDATE) private String email; //在创建的时候填充这个字段 private LocalDateTime createDate; //在更新的时候更新这个字段 private LocalDateTime updateDate; //逻辑删除标志 @TableLogic //查询的时候排除这个属性 @TableField(select = false) private Integer delFlag;
}
- 自定义处理器
@Component public class MyObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "email", String.class, "liukun");
System.out.println("aaa");
System.out.println("bbb");
}
@Override
public void updateFill(MetaObject metaObject) {
System.out.println("更新");
}
}
-
test测试如下 @Test public void test7(){ User user = new User(); user.setName("陈二牛");
int insert = userMapper.insert(user); System.out.println(insert);}
4,控制台打印 ==> Preparing: INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ? ) ==> Parameters: 1257479187862765570(Long), 陈二牛, null <== Updates: 1
- pom 文件如下
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.22</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.7.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
- yml 文件如下
server: port: 8081 servlet: context-path: /demo spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/my-plus?serverTimezone=UTC&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8 username: root password: root filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 mybatis-plus: #日志配置 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #扫描xml文件 mapper-locations: classpath:templates/mapper/*Mapper.xml #注册别名实体类 typeAliasesPackage: com.springboot.mybatisplus.demo.model #逻辑删除配置 global-config: db-config: #逻辑不删除值为0是mp默认值 logic-not-delete-value: 0 #逻辑删除为1是mp默认值 logic-delete-value: 1
- 最后发现 MyObjectHandler 两个方法都不执行
报错信息
Comment From: miemieYaho
自己排查
Comment From: xgj1988
@qiaozhiqma 搞定没得