购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 集成测试

2.3.1 测试用例开发

在项目的单元测试类MySpringBootApplicationTests.java中添加如下代码:

提示 SQL语句要么全部大写,要么全部小写,不要大小写混用。

2.3.2 测试

单元测试方法开发完成之后,双击方法mySqlTest,右击执行一下单元测试,这时可以在控制台看到打印信息,具体如下:

查询成功:

【id】:1;【name】:阿毅

【id】:2;【name】:阿兰

至此,Spring Boot集成MySQL数据库大功告成,这一节的内容简单但是非常重要,之后的章节都是在本节的基础上进行开发的。

2.3.3 Navicat for MySQL客户端安装与使用

Navicat for MySQL是连接MySQL数据库的客户端工具,通过使用该客户端工具方便对数据库进行操作,比如创建数据库表、添加数据等。如果大家已经安装其他的MySQL客户端,可以略过本节。

Navicat for MySQL的安装也非常简单,大家到网上下载安装即可。安装完成之后,打开软件,界面如图2-4所示。

图2-4 Navicat for MySQL界面

我们可以通过【查询】→【新建查询】在弹出的窗口中编写相关的查询语句来查询数据。当然,还有很多操作,大家可以自己去使用和掌握它,这里就不一一描述了。

2.3.4 IntelliJ IDEA连接MySQL

除了通过Navicat for MySQL客户端连接数据库之外,如果不喜欢在自己的电脑中安装一堆软件,我们还可以通过IntelliJ IDEA来连接MySQL数据库。具体步骤如下:

步骤01 在IntelliJ IDEA界面中,单击右侧的【Database】→【New(加号)】→【Data Source】→【MySQL】,在弹出的窗口中输入主机、用户名、密码、端口等信息,如图2-5所示。

图2-5 IntelliJ IDEA连接MySQL

步骤02 单击【Test Connection】测试是否可以连接成功,然后单击【Apply】→【OK】按钮。

步骤03 连接成功之后,我们可以看到如图2-6所示的界面,双击数据库表ay_user,可以看到如图2-7所示的界面。

图2-6 连接MySQL成功界面

图2-7 双击表ay_user界面

成功连接MySQL数据库之后,我们可以在图2-6中看到停止数据库、刷新数据库、命令行窗口等按钮,通过这些按钮可以停止和刷新数据库,或者打开命令行窗口编写SQL语句。在图2-7中,我们可以查询某张表的数据,单击“+”号、“-”号按钮进行数据的添加和删除,还可以在Filter criteria输入框中编写过滤条件,搜索出我们所需要的数据。比如在Filter criteria输入框中输入id='1' and name='阿毅'或者name like '%兰%' and id='2',查询结果如图2-8和图2-9所示。

图2-8 查询结果1

图2-9 查询结果2 qqHwUes+jC3a+gwy+iSnEqiZqtpXjCdT+yTDT+6m/qpCb89eldIItbeDZVuDIiKA



2.4 集成Druid

2.4.1 Druid概述

Druid是阿里巴巴开源项目中的一个数据库连接池。Druid是一个JDBC组件,包括三部分:① DruidDriver代理Driver,能够提供基于Filter-Chain模式的插件体系;② DruidDataSource高效可管理的数据库连接池;③SQLParser,支持所有JDBC兼容的数据库,包括Oracle、MySQL、SQL Server等。Durid在监控、可扩展、稳定性和性能方面具有明显的优势,通过其提供的监控功能可以观察数据库连接池和SQL查询的工作情况,使用Druid连接池可以提高数据库的访问性能。

2.4.2 引入依赖

我们在项目的pom文件中继续添加druid的依赖,具体代码如下:

     <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.4</version>
     </dependency>

在这里,笔者使用的是1.1.4版本,添加完依赖之后,IntelliJ IDEA会自动帮助我们下载依赖包,只要刷新一下依赖即可。

2.4.3 Druid配置

依赖添加完成之后,在application.properties配置文件中继续添加Druid配置,之前我们已经添加了MySQL的连接url、用户名、密码等配置,application.properties完整代码如下:

    ### MySQL 连接信息
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    ### 数据源类别
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    ### 初始化大小,最小,最大
    spring.datasource.initialSize=5
    spring.datasource.minIdle=5
    spring.datasource.maxActive=20
    ### 配置获取连接等待超时的时间,单位是毫秒
    spring.datasource.maxWait=60000
    ### 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    spring.datasource.timeBetweenEvictionRunsMillis=60000
    ### 配置一个连接在池中最小生存的时间,单位是毫秒
    spring.datasource.minEvictableIdleTimeMillis=300000
    spring.datasource.validationQuery=SELECT 1 FROM DUAL
    spring.datasource.testWhileIdle=true
    spring.datasource.testOnBorrow=false
    spring.datasource.testOnReturn=false
    ### 打开PSCache,并且指定每个连接上PSCache的大小
    spring.datasource.poolPreparedStatements=true
    spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
    ### 配置监控统计拦截的filters,去掉后监控界面的SQL无法统计,'wall' 用于防火墙
    spring.datasource.filters=stat,wall,log4j
    ### 通过connectProperties属性来打开mergeSql 功能,慢SQL 记录
    spring.datasource.connectionProperties=druid.stat.
mergeSql=true;druid.stat.slowSqlMillis=5000
    ### 合并多个DruidDataSource 的监控数据
    #spring.datasource.useGlobalDataSourceStat=true

上面每一个配置的含义都有相关的注释,这里就不再过多介绍。这里要注意的是,在.properties配置文件中,#字符是注释符号。

2.4.4 开启监控功能

开启监控功能的方式有多种:①使用原生的Servlet、Filter方式,然后通过@ ServletComponentScan启动扫描包进行处理;②使用代码注册Servlet和Filter的方式处理。这里我们选择Spring Boot推荐的第二种方式实现,在项目的Java目录下(/src/main/java/com.example.demo.filter)新建一个配置类DruidConfiguration.java,具体代码如下:

等同于:

类ServletRegistrationBean和FilterRegistrationBean:在DruidConfiguration.java配置文件中,我们配置了两个类,即druidStatViewServlet和druidStatFilter,并且通过注册类ServletRegistrationBean和FilterRegistrationBean实现Servlet和Filter类的注册。

在druidStatViewServlet类中,我们设定了访问数据库的白名单、黑名单、登录用户名和密码等信息。在druidStatFilter类中,我们设定了过滤的规则和需要忽略的格式。至此,配置类开发完成。

2.4.5 测试

在DruidConfiguration.java类开发完成之后,重新启动一下项目,然后通过访问网址http://localhost:8080/druid/index.html打开监控的登录界面,如图2-10所示。在登录界面中输入用户名:admin和密码:123456即可登录成功,如图2-11所示。

图2-10 Druid监控登录界面

图2-11 Druid登录成功界面

在Druid的监控界面中,我们可以对数据源、SQL、Web应用等进行监控。 +ZUEsuMtouCYbqHA65KeMEaBSlwA2Sek/puGsdBlZ8VJQuVJsK6nNW9mb3LsU5mD



| 第3章 |

集成Spring Data JPA

本章主要介绍Spring Data JPA核心接口及继承关系、在Spring Boot中集成Spring Data JPA以及如何通过Spring Data JPA实现增删改查及自定义查询等。 +ZUEsuMtouCYbqHA65KeMEaBSlwA2Sek/puGsdBlZ8VJQuVJsK6nNW9mb3LsU5mD

点击中间区域
呼出菜单
上一章
目录
下一章
×