02. 集成mybatisplus能不能使用mybatis那一套呢?

76 阅读1分钟

1. 这个是我们的mybatisplus的依赖

<!--mybatis plus和springboot整合-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
</dependency>

2. 编写controller-service-mapper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lzh.xd_shop.mapper.BannerMapper">
    <select id="getAllbannerInfo" resultType="com.lzh.xd_shop.model.BannerDO">
        select * from banner;
    </select>
</mapper>

pom.xml build 标签中加入如下配置

 <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>

        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

mapper层

package com.lzh.xd_shop.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lzh.xd_shop.model.BannerDO;

import java.util.List;

/**
 * @Author:kaiyang.cui
 * @Package:com.lzh.xd_shop.mapper
 * @Project:xd_shop
 * @name:BannerMapper
 * @Date:2023/4/1 下午3:51
 * @Filename:BannerMapper
 * @Description:BannerMapper
 * @Version:1.0
 */
public interface BannerMapper extends BaseMapper<BannerDO> {

    /**
     * 获取所有banner信息
     * @return 返回所有的banner信息
     */
    List<BannerDO> getAllbannerInfo();
}

service层

package com.lzh.xd_shop.service;

import com.lzh.xd_shop.model.BannerDO;

import java.util.List;

/**
 * @Author:kaiyang.cui
 * @Package:com.lzh.xd_shop.service
 * @Project:xd_shop
 * @name:BannerService
 * @Date:2023/4/1 下午3:53
 * @Filename:BannerService
 * @Description:BannerService
 * @Version:1.0
 */
public interface BannerService {

    List<BannerDO> listAllBanner();

    List<BannerDO> getAllbannerInfo();
}
package com.lzh.xd_shop.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.lzh.xd_shop.mapper.BannerMapper;
import com.lzh.xd_shop.model.BannerDO;
import com.lzh.xd_shop.service.BannerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author:kaiyang.cui
 * @Package:com.lzh.xd_shop.service.impl
 * @Project:xd_shop
 * @name:BannerServiceImpl
 * @Date:2023/4/1 下午3:53
 * @Filename:BannerServiceImpl
 * @Description:BannerServiceImpl
 * @Version:1.0
 */
@Service
public class BannerServiceImpl implements BannerService {

    @Autowired
    private BannerMapper bannerMapper;

    @Override
    public List<BannerDO> listAllBanner() {
        return bannerMapper.selectList(new QueryWrapper<>());
    }

    @Override
    public List<BannerDO> getAllbannerInfo() {
        return bannerMapper.getAllbannerInfo();
    }
}

controller层

package com.lzh.xd_shop.controller;

import com.lzh.xd_shop.model.BannerDO;
import com.lzh.xd_shop.service.BannerService;
import com.lzh.xd_shop.utils.JsonData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @Author:kaiyang.cui
 * @Package:com.lzh.xd_shop.controller
 * @Project:xd_shop
 * @name:BannerController
 * @Date:2023/4/1 下午3:56
 * @Filename:BannerController
 * @Description:BannerController
 * @Version:1.0
 */
@RestController
@RequestMapping("/api/v1/banner")
public class BannerController {

    @Autowired
    private BannerService bannerService;


    @RequestMapping("/listAllBanner")
    public JsonData listAllBanner(){
        List<BannerDO> list = bannerService.listAllBanner();

        return JsonData.buildSuccess(list );
    }

    @RequestMapping("/getAllbannerInfo")
    public JsonData getAllbannerInfo(){
        List<BannerDO> list = bannerService.getAllbannerInfo();

        return JsonData.buildSuccess(list );
    }
}

3. 启动项目,查看浏览器

image.png

image.png

结论

可以观察到浏览器url地址和返回到json信息,得出最终结论,在项目中引入mybatisplus依赖,既可以写mybatisplus的接口,又可以写mybatis的接口。