JDBC连接数据库以及druid数据库连接池的使用,有需要的看过来哦!

Posted SSimeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC连接数据库以及druid数据库连接池的使用,有需要的看过来哦!相关的知识,希望对你有一定的参考价值。

一. JDBC连接数据库的步骤:

注意: 编写jdbc.properties文件(便于后期修改数据)

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://ip:3306/数据库名称?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123 

连接步骤:

1、加载jdbc驱动程序;
2、创建数据库的连接;
3、创建preparedStatement(避免SQL注入漏洞);
4、执行SQL语句;
5、遍历结果集;
6、处理异常,关闭JDBC对象资源。

代码(mysql):

Class.forName("com.mysql.cj.jdbc.Driver");//1. 加载驱动
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);//2. 创建连接
PrepareStatement pst = conn.prepareStatement(sql);//3.创建pst
//4. 执行SQL语句
pst.executeUpdate(sql);//增删改,该方法没有返回值
ResultSet rs=pst.executeQuery(sql);//查找,该方法返回值为ResultSet 
//5.遍历结果集
while(rs.next())
	String name = rs.getString("name") ;//通过字段名得到
	String pass = rs.getString(1) ; //列是从左到右编号的, 通过字段索引(从1开始)

/**
* 6.断开所有连接,与创建连接时顺序相反
* (1、 先关闭ResultSet
* (2 、再关闭PreparedStatement
* (3 、最后关闭连接对象Connection
* */
if (rs != null) 
	rs.close();

if (pst != null) 
	pst.close();

if (conn != null) 
	conn.close();
 

二. Druid数据库连接池

数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。如下图所示:

使用Druid连接池

  1. 下载Druid的jar包,导入环境
  2. 编写配置文件 druid.properties
driverClassName = com.mysql.cj.jdbc.Driver
druid.url= jdbc:mysql://192.168.0.152:3306/book_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
druid.username = root
druid.password = 123
#初始化连接数量#
initialSize = 5
#最大连接数量
maxACtive = 10
#等待时间 3秒
maxWait = 3000
  1. 导入配置文件,使用Druid连接池
public void DruidConnect 
	Properties pro = new Properties();
    pro.load(new FileReader(Constants.PATH));//配置文件路径
	DruidDataSource ds = new DruidDataSource();//创建数据源对象
	ds.configFromPropety(pro);//加载druid.properties文件
	Connection conn = ds.getConnection();//获取连接
	PrepareStatement pst = conn.prepareStatement(sql);//SQL注入
	//pst.executeUpdate() ;和jdbc类似
	ResultSet rs=pst.executeQuery(); 
	while(rs.next()) 
		System.out.println(rs.getString(列名));
	
	//断开连接并释放给连接池
	if (rs != null) 
		rs.close();
    
	if (pst != null) 
		pst.close();
	
	if (conn != null) 
		conn.close();
	 

通常在使用的过程中会将连接操作封装成一个工具类,以便实现复用,简洁代码!

以上是关于JDBC连接数据库以及druid数据库连接池的使用,有需要的看过来哦!的主要内容,如果未能解决你的问题,请参考以下文章

JDBC之Druid连接池的使用

druid数据库连接池的使用

Druid连接池的工具类以及简单代码实现

连接池的基本原理? 以及使用连接池的好处?

数据层优化-jdbc连接池简述druid简介

阿里Druid连接池的坑。。