mybatisPlus的使用一般是要mapper和service还有serviceImpl继承和实现什么接口和类?

在 MyBatis Plus 的使用中,通常需要创建 Mapper、Service 和 ServiceImpl 接口和类,它们需要继承或实现以下接口和类:

  1. Mapper 接口:Mapper 接口是定义数据库操作的接口,用于与数据库交互执行 CRUD 操作。Mapper 接口不需要手动编写,MyBatis Plus 会根据实体类自动生成 Mapper 接口的实现。

  2. BaseMapper 接口:BaseMapper 接口是 MyBatis Plus 提供的通用 Mapper 接口,用于执行常用的 CRUD 操作,包括插入、更新、删除和查询等操作。Mapper 接口需要继承 BaseMapper 接口,通过继承 BaseMapper 接口,实现类会自动获得基本的数据库操作方法。

  3. Service 接口:Service 接口是定义业务逻辑的接口,用于定义业务方法和事务控制等操作。Service 接口通常对应一个实体类,定义了该实体类的增删改查等业务方法。

  4. IService 接口:IService 接口是 MyBatis Plus 提供的通用 Service 接口,扩展自 BaseService。使用 IService 接口可以获得一组常用的 CRUD 操作方法。Service 接口需要继承 IService 接口,通过继承 IService 接口,实现类会自动获得基本的业务操作方法。

  5. ServiceImpl 类:ServiceImpl 类是 Service 接口的实现类,用于实现具体的业务逻辑。ServiceImpl 类需要继承 BaseServiceImpl 类,并且需要注入对应的 Mapper 接口实例。通过继承 BaseServiceImpl 类,ServiceImpl 类会自动获得基本的业务操作方法的实现。

在使用 MyBatis Plus 进行开发时,通常的做法是创建实体类、Mapper 接口、Service 接口以及对应的 ServiceImpl 类,并进行相应的继承或实现关系,以便快速进行数据库操作和业务处理。

举例子

当使用 MyBatis Plus 进行开发时,下面是一个示例:

假设有一个实体类 User,对应数据库中的 user 表。可以按照以下方式创建 Mapper 接口、Service 接口和 ServiceImpl 类。

  1. 创建 Mapper 接口
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;

public interface UserMapper extends BaseMapper<User> {
    // 自定义的查询方法可以在这里添加
}
  1. 创建 Service 接口
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.entity.User;

public interface UserService extends IService<User> {
    // 自定义的业务方法可以在这里添加
}
  1. 创建 ServiceImpl 类
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    // 可以在这里实现自定义的业务方法
}

在上述示例中,UserMapper 接口继承了 BaseMapper<User>,通过继承 BaseMapper 接口,UserMapper 就具备了基本的 CRUD 操作方法。

UserService 接口继承了 IService<User>,通过继承 IService 接口,UserService 就具备了一组常用的 CRUD 操作方法。

UserServiceImpl 类继承了 ServiceImpl<UserMapper, User>,并且注入了 UserMapper 的实例。在 UserServiceImpl 中可以实现自定义的业务方法,同时也可以使用继承自 ServiceImpl 的基本业务操作方法。

通过上述示例,可以看到 MyBatis Plus 简化了 Mapper 和 Service 层的开发,提供了基础的增删改查和业务操作方法,使开发变得更加高效和便捷。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐