• SpringBoot整合MyBatis之xml配置


    现在业界比较流行的数据操作层框架 MyBatis,下面就讲解下 Springboot 如何整合 MyBatis,这里使用的是xml配置SQL而不是用注解。主要是 SQL 和业务代码应该隔离,方便和 DBA 校对 SQL

    我的项目结构

    pom.xml

    添加必要的依赖

    <properties>
    
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    
        <java.version>1.8</java.version>
    
        <mybatis-spring-boot.version>1.3.0</mybatis-spring-boot.version>
    
        <mysql-connector.version>5.1.39</mysql-connector.version>
    
    </properties>
    
     <dependencies>
    
        <dependency>
    
            <groupId>org.springframework.boot</groupId>
    
            <artifactId>spring-boot-starter-web</artifactId>
    
        </dependency>
    
        <dependency>
    
            <groupId>org.mybatis.spring.boot</groupId>
    
            <artifactId>mybatis-spring-boot-starter</artifactId>
    
            <version>${mybatis-spring-boot.version}</version>
    
        </dependency>
    
        <dependency>
    
            <groupId>mysql</groupId>
    
            <artifactId>mysql-connector-java</artifactId>
    
            <version>${mysql-connector.version}</version>
    
        </dependency>
    
    </dependencies>

    application.properties

    spring.datasource.url=jdbc:mysql://localhost:3306/test_spring_boot?useUnicode=true&characterEncoding=utf8
    
    spring.datasource.username=root
    
    spring.datasource.password=123456
    
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
    #mybatis
    
    mybatis.mapperLocations=classpath:mybatis/mapper/*.xml

    注意根据自己的实现项目目录进行相应的修改。

    mapper

    通过@MapperScan注解进行dao文件的扫描,此时mapper接口上不需要再加@Mapper注解,如下

    // MyBatis 支持
    
    @MapperScan("com.springboot.mybatis.mapper")
    
    @SpringBootApplication
    
    public class MainApplicion {
    
     
        public static void main(String[] args) throws Exception {
    
            SpringApplication.run(MainApplicion.class, args);
    
        }
    }

    SpringMVC整合MyBatis的区别

    SpringMVC是通过xml进行配置,通过配置DataSourceSqlSessionFactoryBeanMapperScannerConfigurer来完成MyBatis的整合。

    SpringBoot是通过application.properties配置数据源、mapper文件位置和@MapperScan注解来配置扫描的apper路径,从而实现MyBatis的整合。

    往常我们使用springboot集成webredis等依赖之所以不需要指定版本号,是因为我们引入的Maven Parent 中指定了SpringBoot的依赖,SpringBoot官方依赖Pom文件中已经指定了它自己集成的第三方依赖的版本号,对于MybatisSpring官方并没有提供自己的starter,而是mybatisspring提供的starter依赖,所以必须跟正常的maven依赖一样,要加版本号。

  • 相关阅读:
    用Photoshop设计网站的70个教程
    反射引发的错误“reflection Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.”
    机械键盘理解的几个误区和保养方法
    Asp.Net MVC中不指定View Name时如何返回ActionResult的
    [通告]Nuget服务宕机,出现 503 Server Unavailable 错误无法编译及解决方法
    MVC标签链接切换帮助类: TabLink
    [Centos 6.2] centos 6.2(64位)网络配置
    Linux(Ubuntu)设置环境变量(转载)
    COPYONWRITE 原理
    [Linux 技巧] linux screen 命令详解
  • 原文地址:https://www.cnblogs.com/fswhq/p/SpringBoot_MyBatis.html
Copyright © 2020-2023  润新知