<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>io.ilss</groupId>
<artifactId>spring-boot-mybatis-druid</artifactId>
<version>1.0</version>
<name>spring-boot-mybatis-druid</name>
<description>spring-boot-mybatis-druid</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
复制代码
application.yml
spring:
application:
name: spring-boot-mybatis-druid
datasource:
druid:
url: jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=UTF-8
username: root
password: feng1104
# 配置初始化大小(默认0)、最小、最大(默认8)
initial-size: 1
min-idle: 1
max-active: 20
# 配置获取连接等待超时的时间
max-wait: 60000
# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大。 默认为false
pool-prepared-statements: true
# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
max-open-prepared-statements: 20
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一个连接在池中最小和最大生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
max-evictable-idle-time-millis: 900000
# 用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。
# 如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
validation-query: SELECT 1
# 申请连接时执行validationQuery检测连接是否有效 默认为true
test-on-borrow: true
# 归还连接时执行validationQuery检测连接是否有效 默认为false
test-on-return: false
# 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
test-while-idle: true
mybatis:
mapper-locations: classpath:mapper/*.xml
复制代码
数据库对应类:User
package io.ilss.dataobject;
import lombok.Data;
import org.apache.ibatis.type.Alias;
/**
* @author : feng
* @description: User
* @date : 2019-05-13 11:44
* @version: : 1.0
*/
@Data
public class User {
private Integer id;
private String username;
private String password;
}
复制代码
DAO层:UserDAO.java 和 UserMapper.xml
- UserDAO.java
package io.ilss.dao;
import io.ilss.dataobject.User;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author : feng
* @description: UserDAO
* @date : 2019-05-13 11:46
* @version: : 1.0
*/
@Repository
public interface UserDAO {
List<User> listAll();
}
复制代码
- 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="io.ilss.dao.UserDAO">
<select id="listAll" resultType="io.ilss.dataobject.User">
select * from user
</select>
</mapper>
复制代码
测试接口
package io.ilss.controller;
import com.alibaba.druid.stat.DruidStatManagerFacade;
import io.ilss.dao.UserDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : feng
* @description: DruidStatController
* @date : 2019-05-13 11:42
* @version: : 1.0
*/
@RestController
public class TestController {
@Autowired
UserDAO userDAO;
@GetMapping("/druid/stat")
public Object druidStat(){
return DruidStatManagerFacade.getInstance().getDataSourceStatDataList();
}
@GetMapping("/list/user")
public Object listUser() {
return userDAO.listAll();
}
}
复制代码
Notice:
- 网上有的整合示例,有@Bean 然后 创建Datasource ,实测,使用druid-spring-boot-starter依赖不需要去创建
- 另外datasource配置下 加不加druid都可以。多一层而已。druid对两个都支持。(官方说的)
- 访问
localhost:8080/druid/stat可以进入Druid Monitor 如下:
关于我
- 坐标杭州,普通本科在读,计算机科学与技术专业,20年毕业,目前处于实习阶段。
- 主要做 Java 开发,会写点Golang、Shell。对微服务、大数据比较感兴趣,预备做这个方向。
- 目前处于菜鸟阶段,各位大佬轻喷,小弟正在疯狂学习。
- 欢迎大家和我交流鸭!!!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- UWeb v1.6.2 专业版发布,增强框架字典组件,根据标识动态获取数据源
- SmartDb 1.0.0 发布,支持多数据库、多数据源、读写分离的极速轻量级 Java ORM 框架
- 微服务框架 NutzBoot v2.2.4 "BD7OEC",原生支持多数据源
- 搞定 Spring Boot 多数据源(二):动态数据源
- 数据源管理 | 基于JDBC模式,适配和管理动态数据源
- 苞米豆-多数据源 3.4.0 发布:本地多数据源事务优化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
An Introduction to the Analysis of Algorithms
Robert Sedgewick、Philippe Flajolet / Addison-Wesley Professional / 1995-12-10 / CAD 67.99
This book is a thorough overview of the primary techniques and models used in the mathematical analysis of algorithms. The first half of the book draws upon classical mathematical material from discre......一起来看看 《An Introduction to the Analysis of Algorithms》 这本书的介绍吧!