美文网首页
springboot整合mybatis案例

springboot整合mybatis案例

作者: coderymy | 来源:发表于2019-04-26 12:29 被阅读0次

    1,创建项目

    导入需要的模块

    • Core中的DevTools和Lombok
    • Web中的web
    • Template Engines中的Thymeleaf
    • SQL中的MySql,Mybatis,jdbc

    2,项目依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <parent>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-parent</artifactId>
           <version>2.1.4.RELEASE</version>
           <relativePath/> <!-- lookup parent from repository -->
       </parent>
       <groupId>com.ymy</groupId>
       <artifactId>springboot_mybatis03</artifactId>
       <version>0.0.1-SNAPSHOT</version>
       <packaging>jar</packaging>
       <name>springboot_mybatis03</name>
       <description>Demo project for Spring Boot</description>
    
       <properties>
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
           <java.version>1.8</java.version>
       </properties>
    
       <dependencies>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-jdbc</artifactId>
           </dependency>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-thymeleaf</artifactId>
           </dependency>
           <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>1.3.2</version>
           </dependency>
    
           <!-- spring-aop支持 -->
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-aop</artifactId>
           </dependency>
    
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-devtools</artifactId>
               <!--<optional>true</optional>-->
           </dependency>
           <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <scope>runtime</scope>
           </dependency>
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-test</artifactId>
               <scope>test</scope>
           </dependency>
    
           <!-- alibaba的druid数据库连接池 -->
           <dependency>
               <groupId>com.alibaba</groupId>
               <artifactId>druid-spring-boot-starter</artifactId>
               <version>1.1.9</version>
           </dependency>
           <!-- 分页插件 -->
           <dependency>
               <groupId>com.github.pagehelper</groupId>
               <artifactId>pagehelper-spring-boot-starter</artifactId>
               <version>1.2.5</version>
           </dependency>
    
           <dependency>
               <groupId>org.apache.commons</groupId>
               <artifactId>commons-lang3</artifactId>
               <version>3.4</version>
           </dependency>
    
           <!-- fastjson -->
           <dependency>
               <groupId>com.fasterxml.jackson.core</groupId>
               <artifactId>jackson-core</artifactId>
           </dependency>
           <dependency>
               <groupId>com.fasterxml.jackson.core</groupId>
               <artifactId>jackson-databind</artifactId>
           </dependency>
           <dependency>
               <groupId>com.fasterxml.jackson.datatype</groupId>
               <artifactId>jackson-datatype-joda</artifactId>
           </dependency>
           <dependency>
               <groupId>com.fasterxml.jackson.module</groupId>
               <artifactId>jackson-module-parameter-names</artifactId>
           </dependency>
       </dependencies>
    
       <build>
           <plugins>
               <plugin>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-maven-plugin</artifactId>
                   <configuration>
                       <fork>true</fork>
                   </configuration>
               </plugin>
           </plugins>
       </build>
    
    </project>
    

    注意修改关于个人的配置

    整合配置文件classPath:/application.yml

    server:
      port: 8080
    
    spring:
      datasource:
        name: springboot
        type: com.alibaba.druid.pool.DruidDataSource
        #druid相关配置
        druid:
          #监控统计拦截的filters
          filter: stat
          #mysql驱动
          driver-class-name: com.mysql.cj.jdbc.Driver
          #基本属性
          url: jdbc:mysql://127.0.0.1:3306/springboot?serverTimezone=UTC&useSSL=false
          username: root
          password: root
          #配置初始化大小/最小/最大
          initial-size: 1
          min-idle: 1
          max-active: 20
          #获取连接等待超时时间
          max-wait: 60000
          #间隔多久进行一次检测,检测需要关闭的空闲连接
          time-between-eviction-runs-millis: 60000
    
      thymeleaf:
        prefix: classpath:/templates/
        check-template-location: true
        suffix: .html
        encoding: UTF-8
        mode: LEGACYHTML5
        cache: false
    
    #  #文件上传相关设置
    #  servlet:
    #    multipart:
    #      max-file-size: 10Mb
    #      max-request-size: 100Mb
    
      #devtools插件
      devtools:
        livereload:
          enabled: true #是否支持livereload
          port: 35729
        restart:
          enabled: true #是否支持热部署
    
      #spring-aop配置
      aop:
        #启用@Aspectj注解驱动的切面,允许Spring创建基于类的代理
        auto: true
        proxy-target-class: true
    
    
    #mybatis配置
    mybatis:
      mapper-locations: classpath:mapper/*.xml
      type-aliases-package: com.ymy.entity
    
    #mybaatis分页插件pagehelper设置
    pagehelper:
      pagehelperDialect: mysql
      reasonable: true
      support-methods-arguments: true
      #params: count=countSql
    

    几个需要修改的地方

    • mybatis的配置路径
    • 数据库的信息

    注意点:

    • dirver:这个地方需要修改成,这个是因为高版本的驱动抛弃了之前的路径,使用了新的路径

      driver-class-name: com.mysql.cj.jdbc.Driver
      
    • url:修改成,这个是因为时区格式的问题,数据库服务端内部存储数据时所涉及的时间格式问题

      url: jdbc:mysql://127.0.0.1:3306/springboot?serverTimezone=UTC&useSSL=false
      

    修改自己的项目

    接着就是和ssm中一样,创建mapper,service,controller之类的,注意的是,在mapper接口的地方可以创建@Mapper和@Repository两个注解

    相关文章

      网友评论

          本文标题:springboot整合mybatis案例

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