springboot---【dbcp】数据库连接池

环境需求:eclipse(springboot,Tomcat,maven)和MySQL数据库

1.首先配置pom文件和application.yml文件

application.yml

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_1?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true
    password: root
    username: root
#useUnicode 允许使用自定义字符编码

pom.xml

<?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 https://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.3.4.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!-- mysql -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<!-- Java Persistence API -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<!-- thymeleaf -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<!-- web -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>
        <!-- websocket -->
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        <!-- 数据库连接池jar包坐标 -->
  	<dependency>
  		<groupId>commons-dbcp</groupId>
  		<artifactId>commons-dbcp</artifactId>
  		<version>1.4</version>
  	</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

2.插入数据库数据

create database test_1 character set utf8; 

use test_1; 

create table user(
id int primary key auto_increment,
username varchar(10),
password varchar(10)); 

insert into user values(null,'libai','123456'),(null,'tom','admin');

3.添加以下文件

在这里插入图片描述

代码如下:
User.class

package com.example.demo.entity;

import java.sql.Date;
import javax.persistence.Entity;
import javax.persistence.Table;


@Entity
@Table(name="user")
public class User implements java.io.Serializable{
    
    
	private long id;
	private String Username;
	private String Password;
	private Date createdate;
	
    public User() {
    
    
    }

	public long getId() {
    
    
		return id;
	}

	public void setId(long id) {
    
    
		this.id = id;
	}

	public String getUsername() {
    
    
		return Username;
	}

	public void setUsername(String username) {
    
    
		Username = username;
	}

	public String getPassword() {
    
    
		return Password;
	}

	public void setPassword(String password) {
    
    
		Password = password;
	}

	public Date getCreatedate() {
    
    
		return createdate;
	}

	public void setCreatedate(Date createdate) {
    
    
		this.createdate = createdate;
	}
	
	
    

}

DBUtils

package com.example.demo;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

import org.apache.commons.dbcp.BasicDataSource;
public class DBUtils {
    
    
	//DBCP连接池(BasicDataSource类)
	private static BasicDataSource ds;

	static {
    
    


		Properties p=new Properties();
		InputStream ips=DBUtils.class.getClassLoader()
				.getResourceAsStream("application.yaml");
		try {
    
    
			p.load(ips);
		} catch (Exception e) {
    
    
			// TODO: handle exception
			e.printStackTrace();
		}
		String driver=p.getProperty("driver");
		String url=p.getProperty("url");
		String username = p.getProperty("username");
		String password = p.getProperty("password");
		//创建数据库连接池对象
		ds = new BasicDataSource();
		//设置数据库连接信息
		ds.setDriverClassName(driver);
		ds.setUrl(url);
		ds.setUsername(username);
		ds.setPassword(password);
		//设置初始连接数量
		ds.setInitialSize(3);
		//设置最大连接数量
		ds.setMaxActive(10000); 
	}
	public static Connection getConn()throws Exception {
    
    
		//从连接池中获取连接  抛异常
		Connection conn = ds.getConnection();
		return conn;
	}
}

DemoApplication

package com.example.demo;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    
    

	public static void main(String[] args) {
    
    
		SpringApplication.run(DemoApplication.class, args);
		//获取连接
		try (Connection conn=DBUtils.getConn();) {
    
    
			//创建SQL执行对象
			Statement stat = conn.createStatement();
			String sql = "select username,password from user";
			ResultSet rs = stat.executeQuery(sql);
			while(rs.next()) {
    
    
				String name = rs.getString("username");
				String pw = rs.getString("password");
				System.out.println("账号:"+name+"---密码:"+pw);
			}
		} catch (Exception e) {
    
    
			// TODO: handle exception
			e.printStackTrace();
		}
	}

}


运行结果:

在这里插入图片描述
这表明连接成功了。

本人菜鸟一仗,请多多支持!
上传了好多粉丝专享文件和源码,请点击头像首页进行下载

猜你喜欢

转载自blog.csdn.net/weixin_44182157/article/details/108942513