一.基于Springboot默认的数据源配置
1.配置pom
<?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.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.spb.demo.jdbc</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.配置application.yml文件
server:
port: 8080
tomcat:
uri-encoding: UTF-8
spring:
datasource:
platform: mysql
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.11.240:3306/lpinfo?useSSL=false&useUnicode=true&characterEncoding=utf8
username: root
password: 123
3.配置数据源
package com.spb.demo.jdbc.demo;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Autowired
private Environment env;
@Bean
public DataSource getDataSource() {
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl(env.getProperty("spring.datasource.url"));
ds.setDriverClassName(env.getProperty("spring.datasource.driverClassName"));
ds.setUsername(env.getProperty("spring.datasource.username"));
ds.setPassword(env.getProperty("spring.datasource.password"));
return ds;
}
}
4.配置测试类
package com.spb.demo.jdbc.demo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
@SpringBootConfiguration
@SpringBootApplication
public class SPB_JDBC_TEST {
@Autowired
DataSource dataSource;
@Autowired
JdbcTemplate jdbcTemplate;
@Test
public void contextLoads() {
try {
Connection connection = dataSource.getConnection();
System.out.print("===========DB-Schema:"+connection.getCatalog());
//查询一个表
List<Map<String,Object>> list =jdbcTemplate.queryForList("select * from user");
System.out.print("===========DB-JdbcTemplate:"+ list.get(0));
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
5.运行正常
===========DB-Schema:cpc_20180929
===========DB-JdbcTemplate:{user_id=1, user_code=1, user_name=1}
二.基于tomcat 配置数据源
三.基于DBCP配置数据源
四.springboot配置多数据源和读写分离模板