User类
import com. baomidou. mybatisplus. annotation. FieldFill;
import com. baomidou. mybatisplus. annotation. IdType;
import com. baomidou. mybatisplus. annotation. TableField;
import com. baomidou. mybatisplus. annotation. TableId;
import lombok. AllArgsConstructor;
import lombok. Data;
import lombok. NoArgsConstructor;
import java. util. Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
@TableId ( type = IdType. AUTO)
private Long id;
private String name;
private Integer age;
private String email;
@TableField ( fill= FieldFill. INSERT)
private Date createTime;
@TableField ( fill= FieldFill. INSERT_UPDATE)
private Date updateTime;
}
MyMetaObjectHandler类
import com. baomidou. mybatisplus. core. handlers. MetaObjectHandler;
import lombok. extern. slf4j. Slf4j;
import org. apache. ibatis. reflection. MetaObject;
import org. springframework. stereotype. Component;
import java. util. Date;
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill ( MetaObject metaObject) {
log. info ( "start insert fill..." ) ;
this . setFieldValByName ( "createTime" , new Date ( ) , metaObject) ;
this . setFieldValByName ( "updateTime" , new Date ( ) , metaObject) ;
}
@Override
public void updateFill ( MetaObject metaObject) {
log. info ( "start update fill..." ) ;
this . setFieldValByName ( "updateTime" , new Date ( ) , metaObject) ;
}
}
测试类
@SpringBootTest
class MybatisPlusApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void testInsert ( ) {
User user = new User ( ) ;
user. setName ( "jyuxuan" ) ;
user. setAge ( 20 ) ;
user. setEmail ( "jyuxuan0622@163.com" ) ;
userMapper. insert ( user) ;
}
@Test
void testUpdate ( ) {
User user = new User ( ) ;
user. setId ( 6 L) ;
user. setAge ( 18 ) ;
user. setEmail ( "1244204317@qq.com" ) ;
int row = userMapper. updateById ( user) ;
System. out. println ( row) ;
}
}