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

  • 相关阅读:
    JVM——2.JVM的内存结构
    Python网络编程之Socket(套接字)
    如何用 Java 爬取表单数据?
    debian12下执行 go build test.go 使得目标机器debian11不依赖特定的GLCIBC版本 --chatGPT
    什么是边缘计算网关?工业方向应用有哪些?天拓四方
    cenoso7安装docker,jenkins
    因无报酬,开发者破坏 GitHub 知名开源库;AngularJS 结束生命周期;Linux 5.16 发布 | 开源日报
    初中化学骨干教师培训需求调查分析--以贵州师范学院国培计划为例
    怎样成为优秀的后端工程师
    【linux编程】linux文件IO的标准函数及其示例(fopen,fclose,freopen)
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/133882419