工具类 DruidUtil.java
- package com.zzuli.util;
- import com.alibaba.druid.pool.DruidDataSourceFactory;
- import javax.sql.DataSource;
- import java.io.IOException;
- import java.sql.*;
- import java.util.Properties;
- /**
- * Created by hejjon on 2019/6/19 23:10.
- * <p>
- * 基于 Druid 数据库连接池的工具类
- */
- public class DruidUtil {
- // 私有成员 DataSource
- private static DataSource ds;
- static {
- try {
- // 加载配置文件
- Properties pro = new Properties();
- pro.load(DruidUtil.class.getClassLoader().getResourceAsStream("druid.properties"));
- // 获取 DataSource 对象
- ds = DruidDataSourceFactory.createDataSource(pro);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 获取连接
- * @return
- * @throws SQLException
- */
- public static Connection getConnection() throws SQLException {
- return ds.getConnection();
- }
- /**
- * 获取数据库连接池对象
- * @return
- */
- public static DataSource getDataSource() {
- return ds;
- }
- /**
- * 释放数据库资源
- * @param rs
- * @param sta
- * @param conn
- */
- public static void close(ResultSet rs, Statement sta, Connection conn) {
- if (null != rs) {
- try {
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (null != sta) {
- try {
- sta.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (null != conn) {
- try {
- conn.close(); // 归还数据库连接对象
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- /**
- * 释放数据库连接资源
- * @param sta
- * @param conn
- */
- public static void close(Statement sta, Connection conn) {
- close(null, sta, conn);
- }
- }
配置文件 druid.properties
- driverClassName=com.MySQL.jdbc.Driver
- url=jdbc:MySQL://127.0.0.1:3306/zzuli
- username=root
- password=123123
- # 初始化连接数量
- initialSize=5
- # 最大连接数量
- maxActive=10
- # 最大等待时间
- maxWait=3000
测试类 DruidDemo2.java
- package com.zzuli.testDruid;
- import com.zzuli.util.DruidUtil;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- /**
- * Created by hejjon on 2019/6/19 23:25.
- * <p>
- * 测试工具类 DruidUtil
- */
- public class DruidDemo2 {
- public static void main(String[] args) {
- Connection conn = null;
- PreparedStatement pre = null;
- // 定义 sql 语句
- String sql = "insert into t_salary values (null,?,?)";
- try {
- // 获取连接
- conn = DruidUtil.getConnection();
- // 创建 PreparedStatement 对象
- pre = conn.prepareStatement(sql);
- // 设置? 的值
- pre.setString(1, "王五");
- pre.setInt(2, 4000);
- // 执行 sql
- int count = pre.executeUpdate();
- if (count>= 1) {
- System.out.println("记录添加成功");
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
数据库查询结果
来源: http://www.bubuko.com/infodetail-3097827.html