3,springboot集成mybatis

紧接前面1,springboot-简单项目搭建和2,springboot集成数据库,下面就省去数据源如何配置:

可以查看2,springboot集成数据库,里面有数据源如何配置。

 

1,引入mybatis相关的jar包

这个jar包的作用,可以去网上搜索,基本就是让mybatis集成到springboot非常之方便,下面也看的出来;

比如我参考的这个:https://blog.csdn.net/crq1205/article/details/88040582

  • 自动检测现有的DataSource
  • 将创建并注册SqlSessionFactory的实例,该实例使用SqlSessionFactoryBean将该DataSource作为输入进行传递
  • 将创建并注册从SqlSessionFactory中获取的SqlSessionTemplate的实例
  • 自动扫描您的mappers,将它们链接到SqlSessionTemplate并将其注册到Spring上下文,以便将它们注入到您的bean中
  • 等等

我把2,springboot集成数据库中配置的druidDataSource注释了,之后数据库连接仍然能使用,使用的是springboot默认的数据库连接池HiKariPool;

 我把2,springboot集成数据库中配置的druidDataSource注释打开,使用的数据源就是就是自己配置的druidDataSource

 具体原因,可以等以后多数据源的时候分析;

 

2,配置扫描数据库(mapper)接口

 

3,application.yml配置mapper的xml文件

不使用xml而使用@Insert、@Select等,此处不介绍;

 

 4,mapper.xml

 

5,效果

 

 

 写在最后,遇到的问题:

1,各种映射的地方要写准了,不然会出错:No mybatis mapper was found

比如,我之前没有把xml放在resources文件夹下,而是放在了java文件夹下,应该有问题;

我把这里写成了mapper/*.xml,少了中间的*;

其他情况:我这里可以不用这样 -> ;

->这里也可以不用配到具体dao接口上级的包,可以是上级的上级;

 2,service层注入dao层依赖失败

但这个感觉是骗人的,因为项目正常启动和使用;如果看这个告警不爽,换成@Resource也是正常启动和使用:

两个注解区别,网上说@Autowired是根据类型(class?)注入,@Resource是根据名称注入,如果失败,再根据类型注入;

还有其他方式,解决这个告警。

 

posted @ 2020-11-24 15:22  seeAll  阅读(143)  评论(0编辑  收藏  举报