Spring Boot框架使用MyBatis+Mysql

以上篇创建的项目为基础

创建第一个项目快速入门 - Spring Boot学习一
https://www.jianshu.com/p/6f9e040e70d9


什么是MyBatis?

MyBatis 是优秀的基于java的持久层框架,内部封装了jdbc,开发者只需要关注sql语句本身,不需要花费精力去处理加载数据库驱动、创建与数据库连接等繁杂的过程。

什么是MyBatis-Spring-Boot-Starter?

MyBatis-Spring-Boot-Starter帮助您在Spring Boot之上快速构建MyBatis应用程序 , 配置较少的XML配置。

安装

如果您没有使用maven

需在类路径中添加 mybatis-spring-boot-autoconfigure.jar文件及其依赖项(mybatis.jar,mybatis -spring.jar等) 。

如果您使用Maven,只需将以下依赖项添加到您的pom.xml中:

1. pom.xml添加依赖


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.3.2




    mysql
    mysql-connector-java
    8.0.11


添加后完整的 pom.xml



    4.0.0

    com.hw
    SpringBootDemo
    1.0-SNAPSHOT

    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.0.BUILD-SNAPSHOT
    

    

        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            mysql
            mysql-connector-java
            8.0.11
        

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.2
        

    

    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

    
    
        
            spring-snapshots
            https://repo.spring.io/snapshot
            
                true
            
        
        
            spring-milestones
            https://repo.spring.io/milestone
        
    
    
        
            spring-snapshots
            https://repo.spring.io/snapshot
        
        
            spring-milestones
            https://repo.spring.io/milestone
        
    


    
        UTF-8
        UTF-8
        1.8
    


2. 配置数据源

新建文件src\main\resources\config\application.yml 中添加数据源连接属性
Spring Boot框架使用MyBatis+Mysql_第1张图片
spring:
    datasource:
            url: jdbc:mysql://localhost:3306/test
            username: dbuser
            password: dbpass
            driver-class-name: com.mysql.cj.jdbc.Driver

#     url 、 dbuser、  dbpass 改成你自己的, 注意冒号后一定加空格
#     其中localhost为数据库ip地址, test为数据库名

spring boot 支持很多种配置文件, 比如application.yml 和application.properties比较常用, 
我喜欢application.yml 树状结构 更直观 


3.创建数据库表

新建了一张表格

Spring Boot框架使用MyBatis+Mysql_第2张图片
数据库表


4.创建Controller (控制层)

API接口用于处理请求


Spring Boot框架使用MyBatis+Mysql_第3张图片
Controller.png
@RestController    // 该注解包含了 @Controller  @ResponseBody
public class IndexController {

    @Resource
    private ContentsMapper contentsMapper;

    @RequestMapping("/findAll")
    Object findAll() {
        return contentsMapper.findAll();
    }
}


5.创建mapper(持久化映射器接口) 注解的方式

简单说就是向数据库发送sql语句
这里我写了一个全查sql

Spring Boot框架使用MyBatis+Mysql_第4张图片
mapper
@Select("SELECT u_id FROM contents")
    List> findAll();


6.在main方法打开扫描注解

@ComponentScan("com.demo.controller")
@MapperScan("com.demo.mapper")

这边我没有用到service层 ,如有ComponentScan则改成

@ComponentScan( basePackages  = {"com.demo.controller","com.demo.serviceImp"})


7.启动后在浏览器中访问

Spring Boot框架使用MyBatis+Mysql_第5张图片
main.png



Spring Boot框架使用MyBatis+Mysql_第6张图片
浏览器.png


Mapping.xml方式发送sql

首先要区分开来mapper和mapping.xml

mapper 是一个接口
mapping.xml是这个接口具体的实现, 在里面写具体的sql语句

控制器中新加一个方法,根据id查询数据

    @RequestMapping("/findByUid")
    Object findByUid (@RequestParam("uid") Integer uid){
        return contentsService.findByUid(uid);
    }
Spring Boot框架使用MyBatis+Mysql_第7张图片
控制器



dao层新加一个接口,传入一个uid参数

Spring Boot框架使用MyBatis+Mysql_第8张图片
dao



在\src\main\resources\mapping下新建ContentsMapping.xml文件




    

Spring Boot框架使用MyBatis+Mysql_第9张图片
ContentsMapping.xml



配置文件application.yml中添加扫描mapping.xml的路径

mybatis:
  mapper-locations: classpath:/mapping/*.xml
Spring Boot框架使用MyBatis+Mysql_第10张图片
扫描mapping



访问页面 http://localhost:8080/demo/findByUid?uid=234

Spring Boot框架使用MyBatis+Mysql_第11张图片
image.png


本章节项目github地址:

https://github.com/hweeeeeei/springbootDemo

参考官方文档地址 :

http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/`

你可能感兴趣的:(Spring Boot框架使用MyBatis+Mysql)