【JAVA - Druid】Druid数据库连接池 -- 快速入门使用

1. 导入相关的 jar 包

    * mysql-connector-java.jar包(此包用于idea连接数据库用)

    * Druid.jar(对数据库进行操作(增删查改,用的是mysql)

     * 其他包用于数据操作使用

2. 进行相关的数据库配置 ,编写.xml文件 (放在java工程src目录下)


// 告诉java去com.mysql.jdbc路径下将Driver类加载到jvm内存中
driverClassName=com.mysql.jdbc.Driver
/* 因为此处是本机与端口号默认为80所以简写,全写为(jdbc:mysql://ip地址:端口号/db3?userUnicode=true&characterEncoding=UTF-8 */
url=jdbc:mysql:///db3?useUnicode=true&characterEncoding=UTF-8 
// mysql的用户名和密码
username=root
password=root
// 初始化连接池的大小
initialSize=5
// 连接池最大的连接数
maxActive=10
// 等待时间,以防出现bug持续等待,设置3s(3000ms)无反应自动归还连接对象
maxWait=3000

3.编写JDBC的工具类,java-jvm加载Druid相关配置,初始化连接池等操作,具体代码如下:

package webtest;


import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;


// JDBC工具类,使用的是 Druid连接池
public class JDBCUtils {

    // 创建一个连接池 ds,private对象默认为 null
    private static DataSource ds;

    static {
        try {
            // 1.加载配置文件
            Properties pro = new Properties();
            InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
            pro.load(is);

            // 2.初始化连接池
            ds = DruidDataSourceFactory.createDataSource(pro);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 获取连接池对象
    public static DataSource getDs(){
        return ds;
    }

    // 获取连接对象
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }



}

 4.创建数据库 -- 建表 -- 插入数据 以便于样例的测试


// 创建数据库 db3
CREATE DATABASE db3;

// 使用数据库 db3
USE db3;

// 建一个 users 表
CREATE TABLE users(
	id INT PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(30) UNIQUE NOT NULL,
	PASSWORD VARCHAR(30) NOT NULL
);

// 插入数据方便接下来的测试
INSERT INTO users VALUES(NULL,123,123);

5.封装一个 users 类

package webtest;

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

6.写一个Test类进行测试(本应该使用@Test独立测试,由于电脑配置有限,使用简单测试)

package webtest;

public class UserDaoTest {
    public static void main(String[] args) {
        UserDao userDao = new UserDao();
        User loginuser = new User();
        loginuser.setUsername("123");
        loginuser.setPassword("123");
        User user = userDao.login(loginuser);
        if(user == null){
            System.out.println("账号或密码错误");
        }else {
            System.out.println("欢迎您:" + loginuser.getUsername() + ",登录成功");
        }
    }
}

7.测试结果:

 

8.其他:

  *需要相关jar留言留下邮箱即可。

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
在SpringBoot中,可以通过在`application.properties`或`application.yml`文件中配置`druid`数据源的主数据库连接信息。具体步骤如下: 1. 在`application.properties`或`application.yml`文件中添加以下配置信息: ```properties # 数据源配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false spring.datasource.username=root spring.datasource.password=root # Druid连接池配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid.max-wait=60000 spring.datasource.druid.time-between-eviction-runs-millis=60000 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=false spring.datasource.druid.test-on-return=false spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 spring.datasource.druid.filters=stat,wall,log4j spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 ``` 2. 在Java代码中通过`@Value`注解获取主数据库连接信息: ```java import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class DataSourceConfig { @Value("${spring.datasource.url}") private String url; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; // getter and setter } ``` 3. 在需要使用主数据库连接信息的地方引用`DataSourceConfig`类并获取连接信息: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MyService { @Autowired private DataSourceConfig dataSourceConfig; public void doSomething() { String url = dataSourceConfig.getUrl(); String username = dataSourceConfig.getUsername(); String password = dataSourceConfig.getPassword(); // ... } } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值