MybatisPlus自定义SQL语句查询

使用文章ID查询测试

Controller里编写方法

    @Autowired
    private ArticleService articleService;

    @GetMapping("/getById/{id}")
    public R findAll(@PathVariable("id") Long id) {
        Article article = articleService.getArticleById(id);
        return R.ok().data("article", article);
    }

ArticleService接口里加入方法

Article getArticleById(Long id);

ArticleServiceImpl实现类里实现接口方法

    @Override
    public Article getArticleById(Long id) {
        //需要在ArticleMapper里定义getArticleById方法
        return baseMapper.getArticleById(id);
    }

ArticleMapper接口里加入方法

public Article getArticleById(@Param("articleId") Long id);

编写ArticleMapper.xml里的SQL语句 id="getArticleById" 与ArticleMapper接口方法对应,resultType里是返回的数据实体类,#{articleId}与@Param("articleId")对应

    <select id="getArticleById" resultType="com.zeromemos.entity.Article">
        select * from article where id=#{articleId}
    </select>

pom.xml里加入下面的代码,打包的时候能将xml文件也打包进去,不会把自定义的mapper xml文件打包进去

    <!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

application.properties里加入下面这段配置指定xml的路径


#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/zeromemos/mapper/xml/*.xml

启动项目测试