登录
首页 >  数据库 >  MySQL

Mybatis Plus使用XML编写自定义sql

来源:SegmentFault

时间:2023-02-16 15:24:51 191浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个数据库开发实战,手把手教大家学习《Mybatis Plus使用XML编写自定义sql》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

之前在这里编写自定义SQL通过注解的方式可以成功,但是XML一直失败:

报错Invalid bound statement (not found)

image.png

后来看官方文档找到了线索
image.png

之前也尝试过一些方法,不知道为什么均无效。

比如:
1,在 Configuration 类上使用注解 MapperScan
2,SqlSessionFactory不要使用原生的,请使用MybatisSqlSessionFactory
等等都无效

后来走通了一个方法,步骤如下:

1,在Resources文件夹下创建一个Mapper文件夹

比如我们需要在Admin表中使用增删改查,创建AdminMapper.xml,对应MybatisPlus中的AdminMapper接口

image.png

2,之后我们在application.yml中配置mapper文件夹的路径

1
2
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml

3,就可以在AdminMapper.xml中写sql语句了,写法和Mybatis一样

1
2
3
<!--?xml version="1.0" encoding="UTF-8"?--><mapper namespace="scrm.mapper.AdminMapper"><select id="getAll" resulttype="java.util.LinkedHashMap">
        SELECT ad.id,ad.name FROM admin ad WHERE ad.id IN ( SELECT DISTINCT creater_id FROM canal )
    </select></mapper>

4,编写测试类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package scrm;
 
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import scrm.mapper.AdminMapper;
import scrm.model.entity.Admin;
 
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
 
@SpringBootTest
public class Canal {
 
    @Resource
    AdminMapper adminMapper;
 
    @Test
    public void createrList(){
        List<map object="">> mapList  = adminMapper.getAll();
        System.out.println("admin"+mapList);
    }
}
</map>

5,输出结果:

image.png

备注:在这篇文章收到了启发:https://blog.csdn.net/qq_4266...

终于介绍完啦!小伙伴们,这篇关于《Mybatis Plus使用XML编写自定义sql》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表