application.properties配置:
#端口
server.port=8082
#上下文
server.servlet.context-path=/nyfz
#druid数据源配置
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8
spring.datasource.druid.username=root
spring.datasource.druid.password=root
#连接池参数,初始数、最大数、最小数、获取连接等待超时时间(毫秒)
spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=20
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-wait=60000
#指定mapper*.xml加载位置
mybatis.mapper-locations=classpath:mapper/*.xml
pom.xml中添加依赖配置:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nyfz.mapper.UserMapper" >
<resultMap id="BaseResultMap" type="com.nyfz.entity.UserEntity" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="userName" property="userName" jdbcType="VARCHAR" />
<result column="passWord" property="passWord" jdbcType="VARCHAR" />
</resultMap>
<select id="getData" resultMap="BaseResultMap" >
SELECT id, userName, passWord FROM users
</select>
</mapper>
UserMapper.java
package com.nyfz.mapper;
import java.util.List;
import com.nyfz.entity.UserEntity;
public interface UserMapper {
public List<UserEntity> getData();
}
DemosController.java
package com.nyfz.controller;
import java.util.List;
import com.alibaba.druid.stat.DruidStatManagerFacade;
import com.nyfz.entity.UserEntity;
import com.nyfz.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemosController {
@Autowired
private UserMapper userMapper;
/**
* 从数据库查询user表信息
* @return
*/
@GetMapping("/data")
public List<UserEntity> data(){
return userMapper.getData();
}
/**
* druid数据源监控数据
* @return
*/
@GetMapping("/druid/stat")
public Object druidStat(){
// DruidStatManagerFacade#getDataSourceStatDataList
//该方法可以获取所有数据源的监控数据,
//除此之外 DruidStatManagerFacade 还提供了一些其他方法,你可以按需选择使用。
return DruidStatManagerFacade.getInstance().getDataSourceStatDataList();
}
}
访问测试:http://localhost:8082/nyfz/data
访问测试数据源监控:http://localhost:8082/nyfz/druid