一、德鲁伊jar包导入
我们需要使用druid数据库连接池,首先就是要导入druid的jar包,我已经为兄弟们准备好jar包啦,直接下载即可。
链接:https://pan.baidu.com/s/12G_2TueHQZynSH2C9WfwMg
提取码:djar
。。。
下载完成后,我们直接Ctrl + c复制,然后Ctrl + v拷贝到我们在IDEA项目文件准备好的lib模块中。
。。。
右键我们的lib模块,将其设置为依赖:
。。。
选择OK,成功设置为依赖:
。。。
当我们要使用德鲁伊的依赖时,还需要在项目结构中,绑定lib的模块依赖,点击左上角的File,选择Project Structure,后选择Modules,在Dependencies界面给需要的文件添加依赖。
👇👇👇
这样,Druid jar包就导入完成啦…
二、创建配置文件
我们的配置文件需要在模块中的src包下创建或导入:
。。。
上图中的jdbc2.properties就是我创建的配置文件,当然名字是没有限制的,但是配置文件的后缀应当是.properties,我们接下来看一下配置文件中的内容:
#驱动位置 driverClassName = com.mysql.cj.jdbc.Driver #通信地址 url=jdbc:mysql://localhost:3306/fruitdb?useSSL=false&useUnicode=true&characterEncoding=gbk&rewriteBatchedStatements=true #用户名 username=root #密码 password=123456 #初始化连接数 initialSize=2 #最大连接数 maxActive=5 #最大等待时间(毫秒) maxWait=5000
需要注意:配置文件中各种参数名不能随意取,只有像文中这样的参数名才能被识别。
三、读取配置文件
接下来,我们需要创建Properties对象来读取配置文件中的信息:
//创建Properties对象 Properties properties = new Properties(); //创建输入流,获取配置文件中的数据 InputStream is = Demo06Druid.class.getClassLoader().getResourceAsStream("jdbc2.properties"); //使用Properties对象来读取配置文件 //load中需要InputStream properties.load(is);
四、创建Druid数据库连接池
创建指定参数的数据库连接池,将Properties对象传入,获得Druid数据库连接池:
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
五、建立连接 与 关闭连接
注意:这里的关闭连接操作并不是真正地断开了与数据库的连接,而是将连接对象重新放入数据库连接池中,等待下一次的使用。
//创建连接对象 Connection connection = dataSource.getConnection(); //关闭连接 connection.close();
六、完整代码
代码中的循环是测试用的:
import javax.sql.DataSource; import java.io.InputStream; import java.sql.Connection; import java.util.Properties; /** * @author .29. * @create 2022-09-26 18:42 */ //读取外部配置文件,设置连接池 public class Demo06Druid { public static void main(String[] args) throws Exception { //创建Properties对象 Properties properties = new Properties(); //创建输入流,获取配置文件中的数据 InputStream is = Demo06Druid.class.getClassLoader().getResourceAsStream("jdbc2.properties"); //使用Properties对象来读取配置文件 //load中需要InputStream properties.load(is); DataSource dataSource = DruidDataSourceFactory.createDataSource(properties); for(int i = 0;i < 500000;++i){ Connection connection = dataSource.getConnection(); connection.close(); } } }
⚽求关注⚽ 作者🥇 .29. 🥇 的✔博客主页✔