JDBC 连接DRUID 连接池!
一、1.创建一个floder目录,【名称lib】
2. 导入mysql.jar包和 druid.jar 包。---------->bulid path

二、创建 sourcefolder 目录!【sourcefloder】
将配置文件放到里面(这种类型的文件夹和普通文件夹不一样,sourcefloder文件夹能将里面的东西编译到输出目录,而普通文件夹不会编译)
展示配置文件

三、通过连接池来连接JDBC,更改Util工具中的 getConnection!

四、总的展示。
package com.aaa.util; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties; import javax.sql.DataSource; import com.alibaba.druid.pool.DruidDataSourceFactory; /**
* BaseDao 利用Druid连接池 连接数据库
*
* 通过连接池,不用每次都建立连接对象和关闭资源,节省资源。
* 需要
* 1.导入druid包
* 2.创建一个source floder文件夹 将配置文件 druid.properties 放在里面。
*/
public class BaseDAO { private static DataSource source=null;//注意这里是私有,静态变量。 static {//这里还是之前的加载驱动
Properties p = new Properties();
try {
//加载文件 得到一个 druid.properties 的文件。
p.load(BaseDAO.class.getClassLoader().getResourceAsStream("druid.properties")); //获取数据源
source=DruidDataSourceFactory.createDataSource(p); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} //建立连接
public static Connection getConnetion() {
try {
//利用连接池连接对象
Connection con = source.getConnection();
return con;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
} // DML 增删改的通用
public static int exectueUpdate(String sql,Object...args) {
Connection con=null;
PreparedStatement ps=null; try {
con = BaseDAO.getConnetion();
ps=con.prepareStatement(sql); for (int i = 0; i < args.length; i++) {
ps.setObject(i+1, args[i]);
} int i = ps.executeUpdate(); return i; } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if (ps!=null) {
ps.close();
}
if (con!=null) {
con.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} return 0;
} //DQL 查询的通用
public static List<Map<String, Object>> executeQuery(String sql,Object...args) {
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null; try {
con = BaseDAO.getConnetion(); //注意这里是用source 来调用 getConnetion ,不再是通过BaseDAO
ps = con.prepareStatement(sql); for (int i = 0; i < args.length; i++) {
ps.setObject(i+1, args[i]);
} rs = ps.executeQuery(); int count = rs.getMetaData().getColumnCount(); List<Map<String, Object>> list=new ArrayList<>();
while (rs.next()) {
Map<String, Object>map=new HashMap<>(); for (int i = 0; i < count; i++) {
Object values = rs.getObject(i+1);
String countName = rs.getMetaData().getColumnLabel(i+1);
map.put(countName, values);
} list.add(map); // System.out.println(list);
}
for (Map<String, Object> map : list) {
System.out.println(map);
} return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return null;
}
}
JDBC 连接DRUID 连接池!的更多相关文章
- Spring整合JDBC和Druid连接池
		
我的博客名为黑客之谜,喜欢我的,或者喜欢未来的大神,点一波关注吧!顺便说一下,双十二快到了,祝大家双十二快乐,尽情的买买买~ 如果转载我的文章请标明出处和著名,谢谢配合. 我的博客地址为: https ...
 - 常用的jdbc的Druid连接池配置
		
spring: datasource: username: root password: 888888 url: jdbc:mysql://localhost:3306/mybatis driver- ...
 - Spring Boot (四): Druid 连接池密码加密与监控
		
在上一篇文章<Spring Boot (三): ORM 框架 JPA 与连接池 Hikari> 我们介绍了 JPA 与连接池 Hikari 的整合使用,在国内使用比较多的连接池还有一个是阿 ...
 - java基础之JDBC八:Druid连接池的使用
		
基本使用代码: /** * Druid连接池及简单工具类的使用 */ public class Test{ public static void main(String[] args) { Conne ...
 - druid连接池获取不到连接的一种情况
		
数据源一开始配置: jdbc.initialSize=1jdbc.minIdle=1jdbc.maxActive=5 程序运行一段时间后,执行查询抛如下异常: exception=org.mybati ...
 - druid连接池配置
		
本人使用的是springMVC框架,以下是我的配置: step1,配置数据源(applicationContext-resource.xml中): <bean id="cc_ds&qu ...
 - 使用druid连接池的超时回收机制排查连接泄露问题
		
在工程中使用了druid连接池,运行一段时间后系统出现异常: Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: ...
 - Druid连接池
		
Druid 连接池简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.J ...
 - 使用MyBatis集成阿里巴巴druid连接池(不使用spring)
		
在工作中发现mybatis默认的连接池POOLED,运行时间长了会报莫名其妙的连接失败错误.因此采用阿里巴巴的Druid数据源(码云链接 ,中文文档链接). mybatis更多数据源参考博客链接 . ...
 
随机推荐
- 人脸识别中的重要环节-对齐之3D变换-Java版(文末附开源地址)
			
一.人脸对齐基本概念 人脸对齐通过人脸关键点检测得到人脸的关键点坐标,然后根据人脸的关键点坐标调整人脸的角度,使人脸对齐,由于输入图像的尺寸是大小不一的,人脸区域大小也不相同,角度不一样,所以要通过坐 ...
 - Dubbo为什么要用Go重写?
			
先说两句 我常常在散步时思考很多技术上的「为什么问题」,有时一个问题会想很久,直到问题的每一个点都能说服自己时,才算完结.于是想把这些思考记录下来,形成文章,可以当做一个新的系列.这些文章中你可能看不 ...
 - [数据结构]链表LinkList
			
目录 1.3 链表 1.3.1 头插法建立单链表 1.3.2 限制链表长度建立单链表 1.3.3 尾插法建立单链表 1.3.4 按序号查找单链表 1.3.5 按值查找单链表 1.3.6 链表的插入 1 ...
 - 替代RTD2166|CS5212直接Pin to pin兼容替代RTD2166|替代RTD2166方案
			
RTD2166功能概述 RTD2166是一款DisplayPort端口到VGA转换器,成本较高,Capstone于2019年推出CS5212,直接Pin to pin兼容替代RTD2166,可用原RT ...
 - Java初学者作业——编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表
			
返回本章节 返回作业目录 需求说明: 编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表 课程名称 课程简介 JAVA课程 JAVA语言是目前最流行的编写语言,在本课程中将 ...
 - .NET5.0 依赖注入,关于 Autofac 使用
			
前置 工具 VS2019 概念 关于以下几个概念,自行百度. 控制反转:IoC(Inversion of Control) 依赖注入: 容器:DI 容器(.NET Core 自带),Autofac(本 ...
 - 图像数据到网格数据-3——实现Cuberille算法
			
前言 这是本博客网格生成算法系列的第三篇,第一篇里面介绍了最为流行的MarchingCubes算法,第二篇中使用新三角形表来对MC算法进行了简化改进,形成了SMC算法.而这篇将介绍一种新的不同与MC算 ...
 - JMeter_调试取样器(Debug Sampler)
			
大家在调试 JMeter 脚本时有没有如下几种需求: 我想知道参数化的变量取值是否正确! 我想知道正则表达式提取器(或json提取器)提取的值是否正确! 我想知道 JMeter 属性! 调试时服务器返 ...
 - Autosys 快速参考
			
Autosys Quick Reference Introduction to Autosys: AutoSys is an automated job control system for sche ...
 - 35个JAVA性能优化总结
			
原文链接:http://mp.weixin.qq.com/s/J614jGM_oMrzdeS_ivmhvA 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对 ...