• MBatis-plus:架构使用


    (1)简单搭建方式

    Mapper

    1. @Mapper
    2. public interface HospitalSetMapper extends BaseMapper {
    3. }

    Service层接口

    1. public interface HospitalSetService extends IService {
    2. }

    Service实现类

    1. @Service
    2. public class HospitalSetServiceImpl extends ServiceImpl implements HospitalSetService {
    3. }

    注意:原来service调用mappe需要把mapper注入到service,但是我们继承了ServiceImpl,里面已经帮助我们完成了注入,直接使用BaseMapper完成调用

    Controller

    1. @RestController
    2. @RequestMapping("/admin/hosp/hospitalSet")
    3. public class HospitalSetController {
    4. @Autowired
    5. private HospitalSetService hospitalSetService;
    6. }

    在MyBatis-Plus不仅在Mapper中给我们封装了方法,在Service也进行了封装,在写代码是会非常的方便,直接通过controller去掉service中的方法,很方便的实现对数据库的操作

    (2)复杂搭建方式

    Mapper

    1. public interface AppUserMapper extends BaseMapper {
    2. }

    Service层接口

    1. public interface BaseService extends IService {
    2. }

    实现类BaseServiceImpl

    1. @Slf4j 继承了ServiceImpl,里面已经帮助我们完成了注入BaseMapper
    2. public class BaseServiceImplextends BaseMapper, T extends Object> extends ServiceImpl implements BaseService{
    3. }

    业务层公共接口

    1. public interface IAppUserService extends BaseService {
    2. }

    业务层实现类AppUserServiceImpl

    1. @Service
    2. public class AppUserServiceImpl extends BaseServiceImpl
    3. implements IAppUserService {
    4. }

    Controller

    1. @Slf4j
    2. @Api(tags="App用户")
    3. @RestController
    4. @RequestMapping("/bus/user")
    5. public class AppUserController extends BaseController {
    6. @Autowired
    7. private IAppUserService appUserService;
    8. }

    (3)MyBatis-Plus分页接口代码

    1. Controller接口
    2. @AutoLog(value = "用户管理-分页列表查询")
    3. @ApiOperation(value = "App用户-分页列表查询", notes = "App用户-分页列表查询")
    4. @GetMapping(value = "/list")
    5. public Result queryPageList(AppUserReq appUserReq, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
    6. @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
    7. Page page = new Page<>(pageNo, pageSize);
    8. IPage pageList = appUserService.queryPageList(page, appUserReq);
    9. return Result.ok(pageList);
    10. }

    Service接口 

    1. public interface IAppUserService extends BaseService {
    2. IPage queryPageList(IPage page, AppUserReq appUserReq);
    3. }

    实现类:

    1. @Service
    2. public class AppUserServiceImpl extends BaseServiceImpl implements IAppUserService {
    3. @Override
    4. public IPage queryPageList(IPage page, AppUserReq appUserReq) {
    5. Map reqParam = new HashMap<>();
    6. reqParam.put("companyName", appUserReq.getCompanyName());
    7. reqParam.put("userMobile", appUserReq.getPhone());
    8. IPage resultList = this.baseMapper.queryPage(page, reqParam);
    9. return resultList;
    10. }

    Mapper接口

    1. public interface AppUserMapper extends BaseMapper {
    2. IPage queryPage(IPage page, @Param(value = "p") Map reqParam);
    3. }

    Mapper.xml:写sql

    1. "queryPage"parameterType="map" resultType="com.hyit.platform.modules.business.user.vo.AppUserRes">
    2. select
    3. id,
    4. user_name,
    5. company_name,
    6. phone user_mobile,
    7. user_type,
    8. company_review_type companyReviewType,
    9. user_level,
    10. company_name companyName,
    11. locked,
    12. signup_time signupTime
    13. from app_user
    14. "whereNewsinfo_plus"/>

  • 相关阅读:
    前端面试题之最全的操作系统面试题!!
    GPT接入飞书
    SpringBoot——MVC自动配置原理《课时十三》
    提升组件库通用能力 - NutUI 在线主题定制功能探索
    一起来学习flutter 的布局组件
    MasaFramework -- 领域驱动设计
    JavaScript-内置对象
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    【Mac开发环境搭建】安装HomeBrew、HomeBrew安装Docker、Docker安装Mysql5.7和8
    fiddler使用教程
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/133882419