mybatis plug 只查id_mybatis-plugin的几种常用的方法

一.逻辑删除

1.实体类添加

/**

* 0 正常 1 删除

*/

@TableLogic

private Integer deleted;

2.配置文件添加

mybatis-plus.global-config.db-config.logic-delete-value = 1

mybatis-plus.global-config.db-config.logic-not-delete-value = 0

3.添加配置的类

@Configuration

@MapperScan(value = {"com.zjy.community.developercenter.dao.*"})

public class MybatisPlusConfig {

/**

* 逻辑删除例子

*

* @return

*/

@Bean

public ISqlInjector sqlInjector() {

return new LogicSqlInjector();

}

}

二.更新时间

1.实体类添加

/**

* 创建时间

*/

@TableField(fill = FieldFill.INSERT)

private Date createTime;

/**

* 修改时间

*/

@TableField(fill = FieldFill.UPDATE)

private Date modifyTime;

1.配置类添加

@Component

public class MyMetaObjectHandler implements MetaObjectHandler {

private static final Logger LOGGER = LoggerFactory.getLogger(MyMetaObjectHandler.class);

//insert操作时要填充的字段

@Override

public void insertFill(MetaObject metaObject) {

//LOGGER.info("start insert fill ...");

//根据属性名字设置要填充的值

this.setFieldValByName("createTime", new Date(), metaObject);

this.setFieldValByName("modifyTime", new Date(), metaObject);

}

//update操作时要填充的字段

@Override

public void updateFill(MetaObject metaObject) {

//LOGGER.info("start insert fill ...");

this.setFieldValByName("modifyTime", new Date(), metaObject);

}

}

三、主键id生成策略

@TableId(value = "id", type = IdType.ID_WORKER)

private Long id;

public enum IdType {

/**

* 数据库ID自增

*/

AUTO(0),

/**

* 该类型为未设置主键类型

*/

NONE(1),

/**

* 用户输入ID

*

该类型可以通过自己注册自动填充插件进行填充

*/

INPUT(2),

/* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */

/**

* 全局唯一ID (idWorker)

*/

ID_WORKER(3),

/**

* 全局唯一ID (UUID)

*/

UUID(4),

/**

* 字符串全局唯一ID (idWorker 的字符串表示)[默认策略]

*/

ID_WORKER_STR(5);

}

四、更新为空

@TableField(strategy = FieldStrategy.IGNORED)

private String appName;

五、慢性能分析

//Spring boot方式

@EnableTransactionManagement

@Configuration

@MapperScan("com.baomidou.cloud.service.*.mapper*")

public class MybatisPlusConfig {

/**

* SQL执行效率插件

*/

@Bean

@Profile({"dev","test"})// 设置 dev test 环境开启

public PerformanceInterceptor performanceInterceptor() {

return new PerformanceInterceptor();

}

}

ps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值