目录
场景
假设有3个类似的实体类,某处需要处理的业务逻辑(增删改)是一样的,业务还比较复杂,如果单独写,则需要写3个大致一样的长代码段,此处想利用泛型解决。
问题
相似的实体类有不同的字段,而泛型不能获取其属性方法,所以有些不好解决,尝试许久,终于可行,示例代码如下。
PS:系统使用了mybatis plus框架,所以有extends IService,并能使用其提供的便利方法。
一、Entity准备
- 其实我自己涉及到的是为角色配置各种权限的逻辑,为方便这里随意设计三个表:
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

最低0.47元/天 解锁文章

5047

被折叠的 条评论
为什么被折叠?



