springboot+mybatis+Druid整合

669 阅读2分钟

前言

本文是在学springboot时,整合mybatis+Druid,因此把数据库层面的知识又学习了一遍

整个内容是跟着别人的博客做的,但是在学习的过程中发生了不少问题,可能是版本的差别,因此,我这篇文章是对下面博客内容的一个补充

cloudlandboy.github.io/myNote/#/ba…

1、目录结构

2、数据库创建两张表

下面是两张表的sql代码

DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `departmentName` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lastName` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `gender` int(2) DEFAULT NULL,
  `d_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

3、代码上的改动

1、数据库建表

数据库不用他给的方式建表,自己在数据库直接建表:博客中,在resource下创建了两个sql文件,加上application.yml中配置如下,相当于项目启动的时候,自动在数据库中创建两张表,没有必要。

这里,我们直接自己创建两张表,而不使用博客中自动创建的功能

schema:
  - classpath:department.sql
  - classpath:employee.sql

2、application.yml

同样在application.yml中,博客中对于连接的配置如下。博客使用 172.16.145.137 是因为,其连接的数据库在虚拟机中的数据库,IP不是本机IP。

url: jdbc:mysql://172.16.145.137:3306/springboot

而我们在这里使用本机IP,不搞虚拟机,因此改为 localhost

url: jdbc:mysql://localhost:3306/springboot

同时,在后面加上

?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC

如果不加这一串代码,会因为时区问题和乱码问题,各种报错。

这段代码总汇如下

url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC

参考:blog.csdn.net/LFF1991/art…

3、DepartmentController

DepartmentController 这里会报错。这是正常的现象,因为DepartmentMapper 使用的是 @Mapper ,在项目启动后才会进行扫描,在程序编码阶段,找不到是正常的。

4、druid的连接池属性

参考 github.com/alibaba/dru…

5、druid的内部监控

通过 http://localhost:8080/druid/index.html 可以实现对数据库的监控

关于 stat-view-servlet 是否开启监控功能,登录的网址、账号、密码,网址的白名单,都在 application.yml 中进行设置

stat-view-servlet:
      enabled: true
      url-pattern: /druid/*
      login-username: admin
      login-password: root
      allow: 127.0.0.1

同样的,web-stat-filter 的一系列属性也可以在 application.yml 中进行设置

web-stat-filter:
      enabled: true
      url-pattern: /*
      exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"

stat-view-servlet 、web-stat-filter 更多的属性参考 liaocan.top/article/spr…

关于白名单、黑名单: blog.csdn.net/u014633144/…