Spring Boot Vue Element入门实战(十三)Spring Boot+Mybatis+Redis+Swagger

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013254183/article/details/100543795

本博客属作者原创,未经允许禁止转载,请尊重原创!如有问题请联系QQ509961766

(一)修改POM文件

打开pom文件
首先在顶部文字加入spring boot的依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.7.RELEASE</version>
</parent>

然后在dependencies里面加入相关依赖

<!-- spring-boot-web -->
<dependency>
   <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- mybatis-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.0</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>
<!-- springboot+mybatis官方连接包 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-autoconfigure</artifactId>
    <version>1.1.1</version>
</dependency>
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
<!-- 分页插件 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
</dependency>
<!-- mysql数据库驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- druid连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.9</version>
</dependency>
<!-- Swagger -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
</dependency>
<!-- json -->
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>
<!-- log-->
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>

(二)完善properties配置文件

首先打开application.properties文件,把开发测试生成环境分开,打包的时候也方便,我们这里用测试环境为例

#开发/测试/生产环境分别对应dev/test/prod
spring.profiles.active=test

然后新建application-test.properties文件

server.port=8088
server.context-path=/user
logging.config=classpath:logback-spring.xml
#数据库配置
jdbc.datasource.driver=org.gjt.mm.mysql.Driver
jdbc.datasource.url=jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=utf8&autoReconnect=true
jdbc.datasource.username=root
jdbc.datasource.password=root123
# 下面为连接池的补充设置,应用到上面所有数据源中# 初始化大小,最小,最大
jdbc.datasource.initialSize=5
jdbc.datasource.minIdle=5
jdbc.datasource.maxActive=20
# 配置获取连接等待超时的时间
jdbc.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
jdbc.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
jdbc.datasource.minEvictableIdleTimeMillis=300000
jdbc.datasource.validationQuery=SELECT 1 FROM DUAL
jdbc.datasource.testWhileIdle=true
jdbc.datasource.testOnBorrow=false
jdbc.datasource.testOnReturn=false
# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
jdbc.datasource.poolPreparedStatements=false
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防御sql注入
jdbc.datasource.filters=stat,wall,log4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
jdbc.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=2000
# 合并多个DruidDataSource的监控数据
#jdbc.datasource.useGlobalDataSourceStat=true

# Redis数据库索引(默认为0) 
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=wangpan
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=60000

# druid 连接池配置
stat.servlet=/druid/*
stat.allow=192.168.1.225
stat.deny=192.168.1.73
stat.loginUsername=admin
stat.loginPassword=123456
stat.resetEnable=false
stat.urlPatterns=/*
stat.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*

(三)完善logback-spring.xml配置文件

在resources目录下新建logback-spring.xml文件


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 文件输出格式 -->
    <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n"/>

    <!--控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- 每天产生一个文件  INFO -->
    <appender name="INFO-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>logs/info/info.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件名称 -->
            <fileNamePattern>logs/info/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件最大保存历史数量 -->
            <maxFileSize>100MB</maxFileSize>
            <MaxHistory>50</MaxHistory>
            <totalSizeCap>10GB</totalSizeCap>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${PATTERN}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- 每天产生一个文件  ERROR -->
    <appender name="ERROR-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>logs/error/error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 文件名称 -->
            <fileNamePattern>logs/error/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 文件最大保存历史数量 -->
            <maxFileSize>100MB</maxFileSize>
            <MaxHistory>50</MaxHistory>
            <totalSizeCap>10GB</totalSizeCap>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${PATTERN}</pattern>
        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

	<!--这里切换控制台输出还是文件输出-->
    <logger name="dao" level="debug" additivity="false">
        <appender-ref ref="console"/>
        <!--<appender-ref ref="INFO-FILE" />-->
        <!--<appender-ref ref="ERROR-FILE" />-->
    </logger>
	<!--这里切换控制台输出还是文件输出-->
    <root level="info">
        <appender-ref ref="console"/>
        <!--<appender-ref ref="INFO-FILE" />-->
        <!--<appender-ref ref="ERROR-FILE" />-->
    </root>
</configuration>

(四)工程目录

在这里插入图片描述

  • common:工具类,封装类
  • config:配置类,拦截器
  • controller:控制器
  • dao:数据层
  • mapper:mybatis xml 映射
  • entity:数据库实体类映射
  • service:业务层接口
  • impl:业务层实现类
  • vo:业务层数据对象
  • Application:启动类

源码生成利用generateCode.exe工具自动生成controller,dao,mapper,service,impl,vo,entity等代码,包含最基本的增删改查,分页功能
以后我会把这个generateCode.exe工具开源到Git上,大大提高开发效率,一键自动生成增删改查等功能,数据库实体类映射等等

在config里面加入数据源,mybatis,swagger,redis,拦截器等配置,详见源码

(五)启动工程

先修改Application里面,如下,在右键启动项目

package com.wwhy;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@MapperScan(value = "com.wwhy.dao")
@ServletComponentScan
public class Application{

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

控制台打印如下说明启动成功
在这里插入图片描述我们在测试一下mybatis和swagger是否集成成功
在浏览器输入http://localhost:8088/user/druid/index.html,用户密码:admin/123456
在这里插入图片描述
这里阿里做的数据库连接池,可以监控sql,
然后在浏览器输入http://localhost:8088/user/swagger-ui.html,显示系统接口,说明成功
在这里插入图片描述

上一篇:Spring Boot Vue Element入门实战(十二)PowerDesigner数据库建模
下一篇:Spring Boot Vue Element入门实战(十四)前后台整合增删改查
点击这里返回目录

程序人生,更多分享请关注公众号
在这里插入图片描述

源代码下载

关注上面公众号,回复源码即可获取gitbug/gitee下载地址

猜你喜欢

转载自blog.csdn.net/u013254183/article/details/100543795