springblade的CRUD示例

阅读数:10 评论数:0

跳转到新版页面

分类

python/Java

正文

1、建表

2、创建实体类

@Data
@TableName("blade_blog")
public class Blog implements Serializable {

   private static final long serialVersionUID = 1L;
   /**
    * 主键
    */
   private Integer id;
   /**
    * 标题
    */
   private String blogTitle;
   /**
    * 内容
    */
   private String blogContent;
   /**
    * 时间
    */
   private LocalDateTime blogDate;
   /**
    * 是否已删除
    */
   @TableLogic
   private Integer isDeleted;

}

(1)使用lombok的@Data注解增加get set方法。

(2)一般实体类都需要用到缓存、序列化等,所以需要实现序列化接口。

(3)加上mybatis-plus的注解,因为数据库中id是自增的,所以不需要配置。若id为自定义,比如使用snow-flake算法,则需要在private Integer id上配置注解@TableId(value="id",type=IdType.ID_WORKER)。

(4)mybatis plus的@TableLogic注解可以使用删除操作变成更新操作。

3、建立Service和Mapper

(1)BlogMapper增加mybatis-plus的配置

package org.springbalde.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.demo.entity.Blog;

public interface BlogMapper extends BaseMapper<Blog> {

}

(2)BlogService增加mybatis-plus的配置

package org.springbalde.demo.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springbalde.demo.mapper.BlogMapper;
import org.springbalde.demo.service.BlogService;
import org.springblade.demo.entity.Blog;
import org.springframework.stereotype.Service;

@Service
public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements BlogService{

}

springblade默认的mybatis扫描包名为org.springblade,可以通过如下方式配置其它包扫描路径。

@Configuration
@MapperScan("org.springblade.**.mapper.**")
public class MybatisPlusConfiguration {}

或者
mybatis-plus:
  mpper-locations: classpath: org/springblade/**/mapper/*Mapper.xml
  # 多个用逗号分隔
  typeAliasesPackage: org.springblade.**.entity