• 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"/>

  • 相关阅读:
    ArcGIS中批量mxd高版本转低版本
    【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割1(综述篇)
    P7537 [COCI2016-2017#4] Rima
    CefSharp自定义滚动条样式
    MyEclipse数据库工具使用教程:使用 SQL
    滴滴秋招提前批正式开始,现在投递免笔试
    微信小程序|从零动手实现俄罗斯方块
    漏洞复现-Apache Druid 任意文件读取 _(CVE-2021-36749)
    Backblaze发布2023中期SSD故障数据质量报告
    计算机毕业设计 基于SpringBoot的车辆网位置信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/133882419