数据库JDBCUtil 工具类 增加连接池操作

数据库工具类 当前mysql数据库版本为8.011

1.配置文件 jdbc.properties(红字为新版本必须添加)

driverClass=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/db1?characterEncoding=UTF-8&
serverTimezone=Hongkong&useSSL=false&autoReconnect=true&failOverReadOnly=false
name=root
password=root
InitialSize=2
MaxIdle=4
2.工具类 获取配置文件 驱动名称,url,mysql用户名,mysql密码,连接池默认大小,以及连接池最大值
将配置属性加入连接池
package uitl;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import org.apache.commons.dbcp2.BasicDataSource;

public class JDBCUtil {
  // 驱动名称
  static String driverClass = null;
  // URL指向要访问的数据库名mydata
  static String url = null;
  // MySQL配置时的用户名
  static String name = null;
  // MySQL配置时的密码
  static String password = null;
  // 数据库连接池初始数量
  static Integer initSize;
  // 数据库连接池最大数量
  static Integer maxSize;
  // 数据库连接池
  static BasicDataSource dataSource;

  /**
   * 读取配置文件 设置以上属性
   * 以配置文件获得 驱动名称,url,mysql用户名,mysql密码,连接池默认大小,连接池最大值
   * 创建连接池
   */
  static {
    try {
      Properties properties = new Properties();
      // InputStream is = new FileInputStream("jdbc.properties");
      // 文件必须在src文件夹或resources文件夹下
      InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
      properties.load(is);
      // 读取配置文件属性
      driverClass = properties.getProperty("driverClass");
      url = properties.getProperty("url");
      name = properties.getProperty("name");
      password = properties.getProperty("password");
      initSize = Integer.valueOf(properties.getProperty("InitialSize"));
      maxSize = Integer.valueOf(properties.getProperty("MaxIdle"));
      // *****连接池相关************
      dataSource = new BasicDataSource();
      dataSource.setDriverClassName(driverClass);
      dataSource.setUrl(url);
      dataSource.setUsername(name);
      dataSource.setPassword(password);
      // 设置初始化连接数量
      dataSource.setInitialSize(initSize);
      // 设置最大连接数据
      dataSource.setMaxIdle(maxSize);
    } catch (Exception e) {
      // TODO: handle exception
    }
  }

3.创建加载驱动并且获得连接对象的方法

  /**
   * 
   * @Title: getConn
   * @Description: TODO(加载驱动并且获取连接对象)
   * @param: @return
   * @return: Connection 连接对象
   * @throws
   */
  public static Connection getConn() throws Exception {


    return dataSource.getConnection();
  }

4.创建关闭资源方法

/**
   * 
   * @Title: release
   * @Description: TODO(关闭资源)
   * @param: @param conn
   * @param: @param stat
   * @param: @param rs
   * @return: void
   * @throws
   */
  public static void release(Connection conn, Statement stat, ResultSet rs) {
    try {
      if (rs != null) {
        rs.close();
      }
      if (stat != null) {
        stat.close();
      }
      if (conn != null) {
        conn.close();
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }

  }

5.定义数据库增删改查的接口

package dao;

import java.util.ArrayList;
import domain.User;

/**
 * 
 * @ClassName: UserDao
 * @Description:TODO(定义操作数据库的方法)
 * @author: kiko
 * @date: 2018年5月24日 上午10:22:19
 * 
 * @Copyright: 2018
 */
public interface UserDao {
  /**
   * 
   * @Title: findAll
   * @Description: TODO(查询数据库user所有数据的接口)
   * @param: @return
   * @return: ArrayList<User> User对象集合
   * @throws
   */
  ArrayList<User> findAll();

  /**
   * 
   * @Title: insert
   * @Description: TODO(向数据库添加user的接口)
   * @param: @param s
   * @return: void
   * @throws
   */
  void insert(User s);

  /**
   * 
   * @Title: update
   * @Description: TODO(按照id修改数据库中user的接口)
   * @param: @param s
   * @param: @param id
   * @return: void
   * @throws
   */
  void update(User s, int id);

  /**
   * 
   * @Title: delete
   * @Description: TODO(删除数据库数据的接口)
   * @param: @param s
   * @return: void
   * @throws
   */
  void delete(User s);

}

6 根据具体情况实现接口 和调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值