SpringBoot整合Mybatis和Druid数据源介绍使用

刚开始学习了SSM组合架构上起手来中规中矩,不是怎么便捷和简易。
而对于SpringBoot来说,真是轻而易举!
对于这么强大的框架而说,整合起来那真叫一个爽呀。就算不整合,使用底层的JDBC都使用的舒服!
传送门文章 : Swagger的介绍使用 : Swagger介绍和使用 设计模式中的创建型模式:23种设计模式的创建型模式
话不多说,直接正题:


IDE: IDEA DB: MySQL

一. 简单的整合Mybaits

1 . 创建一个Spring Initializr项目

创建好的pom.xml文件


<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.2.4.RELEASEversion>
        <relativePath/> 
    parent>
    <groupId>com.hootongroupId>
    <artifactId>testartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>testname>
    <description>Demo project for Spring Bootdescription>

    <properties>
        <java.version>1.8java.version>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-jdbcartifactId>
        dependency>
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>1.3.2version>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintagegroupId>
                    <artifactId>junit-vintage-engineartifactId>
                exclusion>
            exclusions>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>
project>

修改配置文件

主要介绍用 .yml来写配置文件,在resource目录下的application.properties删除,创建application.yml配置文件

spring:
  datasource:
    username: root
    password: 1234
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver

# 整合mybatis
mybatis:
  type-aliases-package: com.hooton.test.pojo
  mapper-locations: classpath:mybatis/mapper/*.xml
  

创建实体类

SpringBoot整合Mybatis和Druid数据源介绍使用_第1张图片
可以导入依赖使用上面三个注解
简单说就是自动生成Getter/Setter方法等

<dependency>
	  <groupId>org.projectlombokgroupId>
	  <artifactId>lombokartifactId>
dependency>

映射文件

在resource下创建
SpringBoot整合Mybatis和Druid数据源介绍使用_第2张图片

如果不使用@Mapper注解,可以使用@MapperScan注解指定要扫描的包


二. 介绍一下Druid数据源

DRUID简介

Druid是阿里巴巴开源平台上一个数据库连接池实现,结合了C3P0,DBCP,PROXOOL等DB池的优点,同时加入了日志监控

可以很好的监控DB池的链接和SQL的执行情况,天生就是针对监控而生的DB连接池

SpringBoot 2.0 以上默认使用Hikari数据源,这两个都是JavaWeb优秀的数据源。

首先导入依赖

<dependency>
     <groupId>org.springframework.bootgroupId>
     <artifactId>spring-boot-starter-webartifactId>
 dependency>
<dependency>
    <groupId>com.alibabagroupId>
    <artifactId>druidartifactId>
    <version>1.1.21version>
dependency>
<dependency>
	 <groupId>log4jgroupId>
     <artifactId>log4jartifactId>
     <version>1.2.12version>
 dependency>

在application.yml中加入

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource

配置DruidConfig

package com.hooton.test.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;

@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }

    //后台监控 : web.xml  ServletRegistrationBean
    // 因为SpringBoot 内置了 Servlet容器, 所以没有web.xml, 替代方法 ServletRegistrationBean
    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean<StatViewServlet> bean =
                new ServletRegistrationBean<>(new StatViewServlet(), "/druid/**");

        // 后台需要有人登陆,账号密码设置
        HashMap<String, String> initParameters = new HashMap<>();
        // 增加配置
        initParameters.put("loginUsername","admin");
        initParameters.put("loginPassword","1234");

        // 允许谁访问  禁止谁访问  "xxxx","ip"
        initParameters.put("allow","");

        bean.setInitParameters(initParameters);
        return bean;
    }

    // filter
    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean bean = new FilterRegistrationBean();
        bean.setFilter(new WebStatFilter());

        //可以过滤哪些请求
        Map<String, String> initParameters = new HashMap<>();
        // 这些东西不进行统计
        initParameters.put("exclusions","*.js,*.css,/druid/*");

        bean.setInitParameters(initParameters);
        return bean;

    }
}


最后说一个可以修改SpringBoot在启动时 Console的显示样式

只需要在resource目录下创建一个banner.txt 文件就可以自定义成自己的样式,,给一个链接门:自定义设置SpringBoot启动样式
SpringBoot整合Mybatis和Druid数据源介绍使用_第3张图片

你可能感兴趣的:(SpringBoot整合Mybatis和Druid数据源介绍使用)