mybatis-plus实现 相似实体类使用泛型操作同样的逻辑代码更新保存修改的方法

场景

假设有3个类似的实体类,某处需要处理的业务逻辑(增删改)是一样的,业务还比较复杂,如果单独写,则需要写3个大致一样的长代码段,此处想利用泛型解决。

问题

相似的实体类有不同的字段,而泛型不能获取其属性方法,所以有些不好解决,尝试许久,终于可行,示例代码如下。

PS:系统使用了mybatis plus框架,所以有extends IService,并能使用其提供的便利方法。

一、Entity准备

  1. 其实我自己涉及到的是为角色配置各种权限的逻辑,为方便这里随意设计三个表:
    UserOrder - 订单,UserShop - 店铺,UserGoods - 商品。
    都是一(userId)对多的关系,都有字段id和userId,不同的是每个表里还有自己独特的字段,如下。
@Data
public class UserOrder{
   
    public UserOrder() {
   }
    public UserOrder(Long id, Long userId, Long orderId, Date createDate) {
   
        this.id = id;
        this.userId= userId;
        this.orderId= orderId;
        this.createDate = createDate;
    }
 
    private Long id;
    private Long userId;
    @ApiModelProperty("订单id")
    private Long orderId;
    @ApiModelProperty("创建时间")
    private Date createDate;
}
@Data
public class UserShop{
   
    public UserShop() {
   }
    public UserShop(Long id, Long userId, Long shopId) {
   
        this.id = id;
        this.userId= userId;
        this.shopId= shopId;
    }
 
    private Long id;
    private Long userId;
    @ApiModelProperty("店铺id")
    private Long shopId;
}
@Data
public class UserGoods{
   
    public UserGoods() {
   }
    public UserGoods(Long id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值