继承 or 组合
// 共用的实体类和Mapper
@Data
public class UserFoot {
...
}
public interface UserFootMapper extends BaseMapper<UserFoot> {
}
// 方式1:直接继承IService方式
public interface UserFootService extends IService<UserFoot> {
// 自定义业务方法
List<UserFoot> getUserFootprints(Long userId);
}
@Service
public class UserFootServiceImpl extends ServiceImpl<UserFootMapper, UserFoot>
implements UserFootService {
// 可以注入其他Mapper或Service
@Autowired
private UserMapper userMapper;
@Override
public List<UserFoot> getUserFootprints(Long userId) {
// 直接使用继承的方法
return this.list(new LambdaQueryWrapper<UserFoot>()
.eq(UserFoot::getUserId, userId)
.orderByDesc(UserFoot::getCreateTime));
}
}
// 方式2:组合Dao方式
public class UserFootDao extends ServiceImpl<UserFootMapper, UserFoot> {
// 在Dao层封装数据库操作
public List<UserFoot> findByUserId(Long userId) {
return list(new LambdaQueryWrapper<UserFoot>()
.eq(UserFoot::getUserId, userId)
.orderByDesc(UserFoot::getCreateTime));
}
}
public interface UserFootService {
// 定义业务方法
List<UserFoot> getUserFootprints(Long userId);
}
@Service
public class UserFootServiceImpl implements UserFootService {
private final UserFootDao userFootDao;
private final UserMapper userMapper; // 同样可以注入其他依赖
@Autowired
public UserFootServiceImpl(UserFootDao userFootDao, UserMapper userMapper) {
this.userFootDao = userFootDao;
this.userMapper = userMapper;
}
@Override
public List<UserFoot> getUserFootprints(Long userId) {
// 通过dao进行数据操作
return userFootDao.findByUserId(userId);
}
}
2024/6/10...大约 3 分钟