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

1. 导入相关的 jar 包

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

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

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

【JAVA - Druid】Druid数据库连接池 -- 快速入门使用_第1张图片

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.测试结果:

 

【JAVA - Druid】Druid数据库连接池 -- 快速入门使用_第2张图片

8.其他:

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

 

你可能感兴趣的:(java)