<?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 发布:本地多数据源事务优化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning XSLT 2.0
Jeni Tennison / Apress / 2005-07-22 / USD 49.99
This is an updated revision of Tennison's "Beginning XSLT", updated for the new revision of the XSLT standard. XSLT is a technology used to transform an XML document with one structure into another ......一起来看看 《Beginning XSLT 2.0》 这本书的介绍吧!