• 【SpringBoot系列1】SpringBoot整合MyBatis


    前言:

    一直看网上说SpringBoot是解锁你的配置烦恼,一种超级快速开发的框架。一直挺想学的,正好最近也有时间,就学了下

    这个是SpringBoot整合MyBatis的一个教程,用了阿里的druid连接池,号称宇宙第一。

    正文:

    首先看下包结构。

    题外话,我真不喜欢idea,开一个idea花了我足足100多秒,我开一个eclipse只用了10多秒。两者都算上index建立。而且我也没感觉idea好用在哪里,天天一推人给我安利,除了包结构比较清晰罢了。

    pom文件:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     4     <modelVersion>4.0.0</modelVersion>
     5 
     6     <groupId>springboot</groupId>
     7     <artifactId>login</artifactId>
     8     <version>0.0.1-SNAPSHOT</version>
     9     <packaging>jar</packaging>
    10 
    11     <name>login</name>
    12     <description>Demo project for Spring Boot</description>
    13 
    14     <parent>
    15         <groupId>org.springframework.boot</groupId>
    16         <artifactId>spring-boot-starter-parent</artifactId>
    17         <version>2.0.1.RELEASE</version>
    18         <relativePath/> <!-- lookup parent from repository -->
    19     </parent>
    20 
    21     <properties>
    22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    24         <java.version>1.8</java.version>
    25     </properties>
    26 
    27     <dependencies>
    28         <!-- web start -->
    29         <dependency>
    30             <groupId>org.springframework.boot</groupId>
    31             <artifactId>spring-boot-starter-web</artifactId>
    32         </dependency>
    33 
    34         <!-- test -->
    35         <dependency>
    36             <groupId>org.springframework.boot</groupId>
    37             <artifactId>spring-boot-starter-test</artifactId>
    38             <scope>test</scope>
    39         </dependency>
    40 
    41         <!-- 模板引擎 html 依赖 -->
    42         <dependency>
    43             <groupId>org.springframework.boot</groupId>
    44             <artifactId>spring-boot-starter-thymeleaf</artifactId>
    45         </dependency>
    46 
    47         <!-- mybatis -->
    48         <dependency>
    49             <groupId>org.mybatis.spring.boot</groupId>
    50             <artifactId>mybatis-spring-boot-starter</artifactId>
    51             <version>1.3.1</version>
    52         </dependency>
    53 
    54         <!-- mysql -->
    55         <dependency>
    56             <groupId>mysql</groupId>
    57             <artifactId>mysql-connector-java</artifactId>
    58             </dependency>
    59         
    60         <!-- 线程池 阿里的druid -->
    61         <dependency>
    62            <groupId>com.alibaba</groupId>
    63            <artifactId>druid-spring-boot-starter</artifactId>
    64            <version>1.1.9</version>
    65         </dependency>
    66 
    67     </dependencies>
    68 
    69     <build>
    70         <plugins>
    71             <plugin>
    72                 <groupId>org.springframework.boot</groupId>
    73                 <artifactId>spring-boot-maven-plugin</artifactId>
    74             </plugin>
    75         </plugins>
    76     </build>
    77 
    78 </project>

    注意:如果要用druid的线程池,必须引入druid-spring-boot-starter包,不是druid包,可看阿里的官方文档

    从SpringBoot2.0开始,官方默认的为HikariCP数据库连接池,貌似是宇宙第一快

    http://blog.csdn.net/clementad/article/details/46928621(为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用)

    我这里用了阿里的druid

    SpringBoot整合MyBatis步骤:

    1:首先在properties配置mybatis 扫描mybatis的xml配置文件 ->    mybatis.mapperLocations=classpath:mapper/*.xml

    2:其次在启动类中加入扫描dao层的注释 ->  @MapperScan("com.dao")

    3:最后放心的使用就好了

    给我感觉SpringBoot真的超级方便,越来越喜欢SpringBoot了。

    附件:

    1 # databases
    2 spring.datasource.druid.url=jdbc:mysql:///seckill?serverTimezone=GMT&useSSL=false
    3 spring.datasource.druid.username=root
    4 spring.datasource.druid.password=123456
    5 
    6 # mybatis
    7 mybatis.mapperLocations=classpath:mapper/*.xml
  • 相关阅读:
    .vscode\settings.json .gitignore 项目文件配置
    mainWindow = new BrowserWindow 打开慢的原因 electron 已解决 Windows Defender 拦截导致
    iVCam 可以当电脑的摄像头 同一个wifi
    vuerouter tomcat 下报404 WEBINF 放入 web.xml 即可
    Editor Goto Location: Multiple Definitions vscode 多个定义,直接跳转到主定义 不进行选择
    VS Code Snippet Generator 插件 生成 vscode代码片段
    devsidecar 让github 可以正常访问
    react start 后 url 后面不带/ 解决思路
    vscode 尾逗号不自动删除 'commadangle': 'off' eslint vue
    coast 海岸 单词记忆方法
  • 原文地址:https://www.cnblogs.com/wenbochang/p/8982274.html
Copyright © 2020-2023  润新知