干货分享

Spring系列之Spring boot整合持久层框架Mybat

2020-09-21  本文已影响0人  小白菜aaa

前言

本文主要分析Spring boot 整合持久层框架Mybatis,大致概括了其过程,希望对大家有帮助。

环境

添加依赖

第一步:添加spring boot和mybatis的依赖,可以根据实际情况进行修改版本

spring boot相关依赖


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.8.RELEASE</version>
</parent>

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

</dependencies>

<!-- maven 插件 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

mybatis相关依赖

<!-- Spring Boot 整合的 mybatis 的依赖jar包,
其中包含mybatis相关的依赖 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

<!-- MySql驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

application配置

第二步:application.yml文件添加配置
分为数据源配置 + mybatis的配置

application.yml


## 数据源的配置
spring:
  datasource:
    username: root
    password: mysql
    ## 新版本MySQL驱动链接URL必须添加时区配置 serverTimezone=UTC
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver

## mybatis的配置
mybatis:
  ## 配置mybatis的总配置文件路径
  config-location: classpath:mybatis/mybatis.xml
  ## 配置文件各个mapper xml文件的路径
  mapper-locations: classpath:mybatis/mapper/*.xml
  ## 配置取别名的实体类包全路径
  type-aliases-package: com.tianya.springboot.mybatis.entity

启动类

第三步:在启动类上添加mapper接口扫描路径

SpringMybatisApplication.java


@SpringBootApplication
// 自动扫描mapper接口全路径
@MapperScan("com.tianya.springboot.mybatis.mapper")
public class SpringMybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringMybatisApplication.class, args);
    }

}

编写mapper接口

第四步:在接口上添加mapper注解

IUserMapper.java


// Mapper是mybatis的注解,定义一个mapper接口,会自动识别 SqlSessionFactory
// 也会被添加到spring bean容器动
// Mapper相当于 Repository + @MapperScan
// 若是只用@Repository注解,不会有mybatis的自动扫描配置
@Mapper
public interface IUserMapper {
    public List<UserBean> getUserList() ;
}

编写mapper xml文件

第五步:在mapper xml文件具体实现的SQL的方法

IUserMapper.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace必须是mapper接口的全路径 -->
<mapper namespace="com.tianya.springboot.mybatis.mapper.IUserMapper">
    <!-- id必须是mapper接口中定义的方法名,不可重载 -->
    <select id="getUserList" resultType="UserBean">
        select * from users
    </select>
</mapper>

mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>

        <!-- application中已经添加的,这儿可以不用添加 -->
        <package name="com.tianya.springboot.mybatis.entity"/>
    </typeAliases>
</configuration>

编写控制层

UserController.java


@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService ;

    @GetMapping({"","/"})
    public List<UserBean> getList() {
        return userService.getList();
    }

}

服务层

UserService.java


@Service
public class UserService {

    @Autowired
    private IUserMapper userMapper ;

    public List<UserBean> getList(){
        return userMapper.getUserList();
    }

}

项目结构

结尾

本文到这里就结束了,感谢看到最后的朋友,都看到最后了,点个赞再走啊,如有不对之处还请多多指正。

上一篇 下一篇

猜你喜欢

热点阅读