SpringBoot整合Mybatis3
1、导入Mybatis依赖
点击这里,进入,Mybatis-SpringBoot-Starter的官方网址
Mybatis依赖为:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.1</version>
</dependency>
2、学习Mybatis导入的依赖,中的自动配置原理
进入最重要的Mybatis自动配置类,学习其中的源码
3、学习Mybatis的使用(官网)
如下:
根据以上文档的阅读整合Mybatis
接下来讲解如何进行SpringBoot整合Mybatis
4、在配置文件application.yml中,配置Mybatis的Mapper的位置。
-
找到application.yml或者application.properties文件
-
配置mybatis的mapper位置:
首先建立以下的目录结构。
我的目录结构为:
所以,
配置的路径为:
即,mybatis: mapper-locations: classpath:mybatis/mapper/*.xml
你可以根据你的配置文件的路径进行修改里面的配置(注意,上面图中*.xml指的是mapper文件夹下的所有的xml文件。)
5、编写Mybatis的接口(interface,注意要加@Mapper注解),以及对应的XML文件
- 建立如下的目录结构:mapper文件夹,以及在此文件夹创新UserMapper(接口,即UserMapper.interface)
其中,有个小鸟,是因为我安装了==MybatisX的插件==
UserMapper的代码为:
package com.zhao.admin.mapper;
import com.zhao.admin.bean.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
User getUserById(Long id);
}
6、编写Service接口调用Mapper接口,Controller调用Service接口
-
建立service层调用Mapper接口
UserService.java代码为:
package com.zhao.admin.service; import com.zhao.admin.bean.User; import com.zhao.admin.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired UserMapper userMapper; public User getUserById(Long id) { return userMapper.getUserById(id); } }
-
Controller层调用service层接口
UserController.java的代码为:
package com.zhao.admin.controller; import com.zhao.admin.bean.User; import com.zhao.admin.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class UserController { @Autowired UserService userService; @ResponseBody @GetMapping("/user") public User getUserById(@RequestParam("id") Long id) { return userService.getUserById(id); } }
7、测试
运行项目,测试:localhost:8080/user?id=2
在Postman中测试的结果如下:(如果没有postman在浏览器中输入以上也是可以的,但是开发中可能用postman的比较多,最好多学习学习工具的使用,若对postman的使用不清晰,可以留言,我可以写一个教程)
最后,如果对你有帮助,点个关注,相互学习吧。