美文网首页干货分享
Spring系列之Spring boot整合持久层框架Mybat

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

作者: 小白菜aaa | 来源:发表于2020-09-21 20:56 被阅读0次

    前言

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

    环境

    • Java1.8
    • maven
    • spring boot 2.0.8.RELEASE
    • mysql

    添加依赖

    第一步:添加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();
        }
    
    }
    
    

    项目结构

    结尾

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

    相关文章

      网友评论

        本文标题:Spring系列之Spring boot整合持久层框架Mybat

        本文链接:https://www.haomeiwen.com/subject/nmcfyktx.html