SpringBoot是目前比较火的一款web应用开发的解决方案,详细的介绍可以浏览Spring boot官网https://spring.io/projects/spring-boot
总的来说,它是一款约定大于配置的框架,集成了历来Spring的优秀产品,也可以和很多开源框架完美集成。
本人也是刚刚接触Spring Boot,几个月前使用Spring boot集成Mybatis完成了毕业设计的APP的后台系统。现在重新再来学习Springboot并总结一些内容。
之前使用的Spring Boot版本是2.0.1,在集成Druid的时候需要写配置类(这应该跟Druid的版本有关系,当时用的版本比较低),对于小白来说还是比较复杂的,而且
的版本刚出来,也没有深入去了解版本的差异,只能查阅2.0的资料,但无奈踩坑的人还比较少,可以采纳的资料也不多,只能自己摸索。
但本文搭建的Spring Boot是2.0.2版本,在集成druid的时候却不需要再去写配置类,直接在application.yml中写好配置的参数即可。此外,IDE使用的是IDEA+maven下面是详细的内容
1.创建新项目
输入你项目的信息,选择以上的几个框架或更多即可完成项目的创建
2.添加Jar包,在pom.xml中
<?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>
<groupId>com.wmj</groupId>
<artifactId>blog</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>blog</name>
<description>blog web app</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<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-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</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>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<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>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.codec</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
以上是详细的pom.xml文件
3.配置application.yml我这里把application。properties改成了yml文件
server:
port: 8989
spring:
datasource:
name: mysql_blog
type: com.alibaba.druid.pool.DruidDataSource
druid:
filters: stat
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8&useSSL=true
username: root
password: 1234
initial-size: 1
min-idle: 1
max-active: 20
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20
mvc:
view:
prefix: /
suffix: .html
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.wmj.blog.entity
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count==countSql
注意上面的参数、路径和文件名的不同,修改为自己的
应该不需要详细的解释,看关键字就可以明白大概的意思
4.添加dao包的路径在启动类中,框架可以找到你的dao
5.项目目录结构
注意自己的包一定要和启动类同一级
以上就是Spring Boot集成mybatis的基本搭建的内容,如有问题、建议、批评可以留言,本人小白一切皆可接收并去学习,欢迎大家指正,先谢过各位。
附:项目源码:https://github.com/WeiMJ1996/SpringBoot-Mybatis
关于pagehelper的使用里面也有简单的例子。