java数据库配置_java--数据库(文件配置连接,自定义连接池)
import java.util.ResourceBundle;
public class Mtest7Demo {
//使用properties配置文件完成数据库的连接
/*
* 开发中获得连接的4个参数(驱动,URL,用户名,密码)通常都存在配置文件中,方便后期维护,
* 程序如果需要更换数据库,只需要修改配置文件即可。
* (个人认为如果单独的创建一个类,包含上面的四种参数,在性质上并无差别)
* 注意点:
* 1 文件位置,任意,建议src下;
* 2文件名称:任意,扩展名为properties
* 3文件内容:一行一组数据,格式是"key=value"
*/
/*
* 加载配置文件:ResourceBundle对象
* ResourceBundle提供getBundle()方法用于只提供properties文件即可,
* 之后使用getString(key)通过key获得value的值
*/
public static String driver;//驱动
public static String url;//路径
public static String user;//用户名
public static String password;//密码
//配置文件只需要被加载一次。
static {//注意需要放在static中;
//通过key获取value的值
ResourceBundle bundle=ResourceBundle.getBundle("db");
driver=bundle.getString("jdbc.driver");
url=bundle.getString("jdbc.url");
user=bundle.getString("jdbc.user");
password=bundle.getString("jdbc.password");
}
//如上完成properties文件配置的封装
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.LinkedList;
public class Mtest6Demo {
static LinkedList pool = new LinkedList();
//使用连接池完成数据库的连接
//本测试首先是自定义的连接池
//1初始化连接池中的连接
//本部分是连接池的初始化设置
static {
Mtest7Demo mt=new Mtest7Demo();
String driver=mt.driver;
String url=mt.url;
String user=mt.user;
String password=mt.password;
try {
//1注册驱动
Class.forName(driver);
for(int i=0;i<5;i++)
{
//2获得连接
Connection conn = DriverManager.getConnection(url,user,password);
//3将连接添加到连接池中
pool.add(conn);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
//获得连接
public static Connection getConnection() {
Connection conn=null;
try {
//1如果池中有连接
if(!pool.isEmpty())
{
//2每一个连接Connection,只能提供给当前一个线程使用,必须进行移除操作
conn=pool.remove(0);
//3返回刚刚获得的连接
return conn;
}else {
//如果没有连接,等待100毫秒,然后继续
Thread.sleep(100);
return getConnection();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return conn;
}
//归还连接
public static void release(Connection conn) {
try {
if(conn!=null)
{
conn.close();
pool.add(conn);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
db.propreties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/study?useUnicode=true&characterEncoding=utf8
jdbc.user=root
jdbc.password=root
java数据库配置_java--数据库(文件配置连接,自定义连接池)相关推荐
- VSCode JS主题风格与样式环境配置 settings.json 文件配置 完成 webstorm风格化配置
webstorm 很好用,但破解版难找,有些功能可能还存在问题(本人用的破解版在全局搜索上不对),而学生认证暂时的,因此不如直接把VScode 配置成webstorm样式,风格化很接近了.有注释参考. ...
- dz论坛连接mysql数据库_DISCUZ! 修改数据库连接文件配置方法
我们迁移discuz7.2论坛,导入mysql数据库后,使用文本编辑器editplus打开根目录下config.inc.php和uc_server/data/config.inc.php 两个文件替 ...
- android xml导进数据库,Android通过xml文件配置数据库
之前一段时间自己封装了两个数据库,一个是ORM数据库,另一个是事件流数据库,项目相应的地址如下: ORM数据库:https://github.com/wenjiang/SimpleAndroidORM ...
- jdbc odbc java mysql数据库连接_Java数据库连接之配置ODBC数据源
java使用JDBC-ODBC桥接连接SQLServer数据库需要配置ODBC数据源,配置步骤如下: 1.进入控制面板,找到管理工具 2.看到ODBC数据源,有64位和32位的,如果你的数据库是64位 ...
- java robot 文档_文件配置 · simple-robot 机器人开发者使用文档 · 看云
# 文件配置 文件配置使用properties格式文件,以上一章节中讲到的`配置名`作为**键(key)**,以配置的值作为**值(value)** > 以核心`1.12.x`的配置规范为准,较 ...
- java工具配置_Java™ 教程(配置实用工具)
配置实用工具 本节介绍一些帮助应用程序访问其启动上下文的配置实用程序. 属性 Properties是作为键/值对管理的配置值,在每对中,键和值都是字符串值,键标识并用于检索值,就像变量名用于检索变量的 ...
- java常量配置_java项目动态配置常量和peiconfig.properties配置使用详解
java项目动态配置常量和peiconfig.properties配置使用详解 点击:2 Java工程中配置信息一般都写在 properties文件中,下面这篇文章是对java基础配置的一点学习心得整 ...
- 服务器前端文件配置,服务器前端文件配置
服务器前端文件配置 内容精选 换一换 使用mount命令挂载文件系统到云服务器,云服务器系统提示timed out.原因1:网络状态不稳定.原因2:网络连接异常.原因3:云服务器DNS配置错误,导致解 ...
- java p2p 下载_java p2p文件传输(含服务器端与jsp源码)
[实例简介] [实例截图] [核心代码] import java.net.*; import java.util.List; import java.awt.*; import javax.swing ...
- java class 结构_Java class文件的结构
Java class文件的结构 class文件是Java源代码编译之后产生的二进制文件,代码中的各个项目严格按照Java的规范组织. class文件以一张表的形式组织代码中的各个部分: 名称 释义 大 ...
最新文章
- java 修饰符 访问控制符_Java访问修饰符(访问控制符)
- 如何在jupyter notebook中运行markdown文件(脚本、代码)
- 北斗导航 | 坐标变换矩阵(CTM)与欧拉角(Euler)互相转换:Matlab源代码
- HDU - 6356 Glad You Came(线段树)
- 【Java】Java实现 JSON 的组装和解析
- html中常见的小问题(1)
- 什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了
- 对象交互。英雄搏击游戏。0107
- python获取天气数据_python获取天气数据
- 疯狂的ASP.NET系列-第一篇:啥是ASP.NET
- 【5】线性反馈移位寄存器
- 方法重写和重载的规则
- 离散——在谓词演算的推理过程中为什么要先消去存在量词再消去全称量词
- 软件随想录:程序员部落酋长Joel谈软件(阮一峰译)-1
- Boost.auto_ptr的实现源码
- 推荐系统论文源码笔记——依次学习之DKN源码笔记
- 建站选择免费虚拟主机的六大误区
- 爬取豆瓣前250电影数据
- php 类型提示,PHP中的类型提示(type hinting)功能介绍
- pci总线协议学习笔记——PCI总线基本概念
热门文章
- Java LocalDate类| 带示例的compareTo()方法
- 12345组成三个不重复数java,求大神帮忙!五子棋!只能识别按顺序识别!例如 12345 不能...
- 数据库范式5nf_第四范式(4NF)| 数据库管理系统
- python中八进制_在Python中以八进制格式输入数字
- Java ClassLoader getResources()方法与示例
- 查询MySQL字段注释的 5 种方法!
- 一道题决定去留:为什么synchronized无法禁止指令重排,却能保证有序性?
- 美团面试题 | JVM 堆内存溢出后,其他线程是否可继续工作?
- 视频人脸检测——Dlib版(六)
- mysqli与pdo防sql注入源码