- 自动生成时间(数据自动填充)
FieldFill为enum(枚举类型),类似于选择题
@Data
@Accessors(chain=true)
public class basePojo implements Serializable{
@TableField(fill = FieldFill.INSERT)
private Date created;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updated;
}
自动填充配置文件:
@Slf4j
@Component
public class MymetaObjectHandler implements metaObjectHandler {
@Override
public void insertFill(metaObject metaObject) {
Date date = new Date();
this.setFieldValByName("created", date,metaObject);
this.setFieldValByName("updated", date,metaObject);
}
@Override
public void updateFill(metaObject metaObject) {
Date date = new Date();
this.setFieldValByName("updated", date,metaObject);
}
}
使用:
@Override
@Transactional
public void saveItemCat(ItemCat itemCat) {
itemCat.setStatus(true);
itemCatMapper.insert(itemCat);
}
- 商品列表分页显示
selectPage语法说明:
1.page: MP内部指定的分页对象
2.queryWrapper 条件构造器
Sql: where titile like “%xxx%”
ItemServiceImpl:
@Override
public PageResult getItemList(PageResult pageResult) {
boolean flag = StringUtils.hasLength(pageResult.getQuery());
QueryWrapper- queryWrapper = new QueryWrapper<>();
queryWrapper.like(flag,"title",pageResult.getQuery());
//编辑mybatis-plus的分页对象,传进去页数和条数,返回页数、条数、总数、记录
IPage
- page = new Page<>(pageResult.getPageNum(), pageResult.getPageSize());
page = itemMapper.selectPage(page, queryWrapper);
//获取总数
long total = page.getTotal();
//获取记录
List
- items = page.getRecords();
return pageResult.setRows(items).setTotal(total);
}
分页插件:
@Configuration:标识这是一个配置文件,相当于早期的xml文件
@Bean:将方法的返回值交给Spring容器管理
@Configuration //标识这是一个配置类
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MARIADB));
return interceptor;
}
}
- 商品新增
@Override
public void saveItem(ItemVO itemVO) {
Item item = itemVO.getItem();
item.setStatus(true);
itemMapper.insert(item);
}
- 富文本编辑器
- 商品详情页
一个商品对应一个详情,一个详情对应一个商品
MP原则:入库之后动态地回显数据
@Override
@Transactional
public void saveItem(ItemVO itemVO) {
Item item = itemVO.getItem();
item.setStatus(true);
itemMapper.insert(item);
ItemDesc itemDesc = itemVO.getItemDesc();
itemDesc.setId(item.getId());
itemDescMapper.insert(itemDesc);
}



