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
启动项目测试