SpringBoot:整合Druid并开启监控、整合Mybaits

公众号上线啦!
搜一搜【国服冰】
使命:尽自己所能给自学后端开发的小伙伴提供一个少有弯路的平台
回复:国服冰,即可领取我为大家准备的资料,里面包含整体的Java学习路线,电子书,以及史上最全的面试题!

一、整合Druid

1、导入starter

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>

2、配置yaml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/student?serverTimezone=UTC
    username: root
    password: 123
    type: com.alibaba.druid.pool.DruidDataSource

    #连接池配置(可选)
    # 连接池的配置信息初始化大小,最小,最大
    name: testDruidDataSource
    initial-size: 5    #初始化连接大小
    max-active: 20    #最大连接数
    min-idle: 5        #最小空闲连接数
    max-wait: 60000   # 配置获取连接等待超时的时间

    #######监控配置  说明请参考Druid Wiki
    #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall

    #配置 Web Stat Filter
    web-stat-filter:
      enabled: true
      url-pattern: /*
      exclusions: /druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico
      session-stat-enable: true
      session-stat-max-count: 10
      principal-session-name: session_name
      principal-cookie-name: cookie_name
      profile-enable:

    # Stat View Servlet 配置  配置默认false
    stat-view-servlet:
      enabled: true
      url-pattern: /druid/*
      reset-enable: false   #禁用HTML页面上的“Reset All”功能
      login-username: admin  #监控页面登录的用户名
      login-password: 123  #监控页面登录的密码
      #IP白名单(没有配置或者为空,则允许所有访问)
      allow:
      #IP黑名单 (存在共同时,deny优先于allow)
      deny:

由于springboot默认的是hikari,号称最快的数据源,这里我们换成了阿里巴巴的数据源,druid最强大的则是监控功能

class com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceWrapper
com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@3f866f50

执行一条查询语句
在这里插入图片描述

二、整合Mybaits

1、导包

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

启动器文档:mybatis-spring-boot-starter

2、实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
    private int id;
    private String name;
    private int tid;
}

3、StudentMapper

添加了@Mapper注解之后这个接口在编译时会生成相应的实现类

@Mapper
@Repository
public interface StudentMapper {
     List<Student> selectAllStudent();
}

4、StudentMapper .xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="site.kexing.mapper.StudentMapper">
    <select id="selectAllStudent" resultType="student">
        select * from student
    </select>
</mapper>

5、配置数据源、实体别名、mapper地址

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/student?serverTimezone=UTC
    username: root
    password: 123

mybatis:
  type-aliases-package: site.kexing.pojo
  mapper-locations: classpath:mapper/*.xml

6、测试输出

@RestController
public class StudentController {
    @Autowired
    StudentMapper studentMapper;

    @RequestMapping("/selectall")
    public List<Student> selectAllStudent(){
        List<Student> students = studentMapper.selectAllStudent();
        return students;
    }
}
[{"id":1,"name":"小明","tid":1},{"id":2,"name":"小红","tid":1},{"id":3,"name":"小张","tid":2},{"id":4,"name":"小李","tid":1},{"id":5,"name":"旺旺","tid":1}]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot项目中整合Druid和MyBatis Plus可以提供非常好的数据库访问性能和可维护性。下面是一些简单的步骤: 1. 添加依赖 在pom.xml中添加以下依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>{druid-version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>{mybatis-plus-version}</version> </dependency> ``` 2. 配置数据源 在application.properties或application.yml文件中添加以下配置: ```yml spring: datasource: url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource # druid 连接池配置 druid: initial-size: 2 min-idle: 1 max-active: 20 max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 validation-query: SELECT 1 FROM DUAL test-while-idle: true test-on-borrow: false test-on-return: false pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 filters: stat, wall, log4j connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 ``` 3. 配置MyBatis Plus 在配置类中添加以下配置: ```java @Configuration @MapperScan("com.example.mapper") public class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } } ``` 这里使用了MyBatis Plus的分页插件。 4. 创建Mapper 创建Mapper接口并使用MyBatis Plus的注解: ```java @Mapper public interface UserMapper extends BaseMapper<User> { } ``` 5. 测试 创建Controller并测试: ```java @RestController @RequestMapping("/users") public class UserController { @Autowired private UserMapper userMapper; @GetMapping("") public List<User> list() { return userMapper.selectList(null); } } ``` 这样就完成了Druid和MyBatis Plus的整合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值