db.properties连接池的用法

db.properties连接池的用法

Properties文件,其实仅仅是键值对配置文件。下面介绍如何读取properties文件以及如何用JDBC连接数据库。

1.[读取配置文件]:
比如你的properties文件叫做mysql.properties,并且放在com.test包下:

java.net.URL url = Thread.currentThread().getContextClassLoader().getResource("com/test/mysql.properties");

注意路径和包名一致,在你的提问中,我们知道是放在classes目录下,则直接
...getResource("mysql.properties"); 即可

Properties p = new Properties();
p.load(url.openStream()); //由URL载入配置文件

这样你就得到一个Properties的实例

2. [读取配置文件信息]:
比如你要读取drivers的值,只需:
String theDriver = p.get("drivers");
根据配置文件,这样你就得到了"org.gjt.mm.mysql.Driver"

3.[利用JDBC连接数据库]
首先你要保证你有MySQL的Jdbc驱动程序,即包含org.gjt.mm.mysql.Driver的jar包,并放在应用的classpath里。你可以搜索一下,很多地方有下的:
mysql-connector-java-3.0.15-ga-bin.jar

然后用同样的方法得到url, mysql.user, mysql.password的值,比如分别为
url, user, pass

然后建立连接:
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection conn = java.sql.DriverManager.getConnection(url, user, pass);
如果不出意外,你就得到连接数据库的Connection了,注意用完了别忘了关啊。(conn.close();)

4.[补充说明]
properties文件只是一个键-值对的配置文件(而且键和值都是可以自己写的,并没有固定格式,要看程序需求),从它“本身”只能得到键对应的值。具体这个值用来干什么,那是程序的事情。比如logfile和maxconn,我只能猜是用来处理log和建立连接池时标记最大连接数的,具体怎么实现,需要研究它的代码,因为并没有固定写法。(而上面用jdbc建立连接的写法是固定的)。因为你只给了个properties文件,所以我只能写一个jdbc的连接程序,但这并不是连接池的实现。

这里有个连接池的实现,你可以参考下:
http://blog.youkuaiyun.com/manud/articles/89022.aspx 

 

### Spring Boot 数据库配置的标准格式 在 Spring Boot 中,`application.properties` 文件用于定义应用程序的各种配置项。对于数据库连接的配置,Spring Boot 提供了一组标准化的键值对来简化开发者的操作[^1]。 以下是 `application.properties` 文件中常见的数据库配置选项及其说明: #### 1. 数据源基本配置 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 上述代码片段展示了如何通过指定 JDBC URL、用户名、密码以及驱动类名来设置数据源[^2]。 #### 2. 连接池配置(HikariCP 默认) Spring Boot 使用 HikariCP 作为默认的数据源连接池实现。可以通过以下方式调整其行为: ```properties spring.datasource.hikari.connection-timeout=20000 spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.minimum-idle=5 spring.datasource.hikari.idle-timeout=30000 spring.datasource.hikari.max-lifetime=2000000 spring.datasource.hikari.auto-commit=true ``` 这些属性允许开发者控制连接超时时间、最大最小空闲连接数以及其他性能优化参数。 #### 3. JPA/Hibernate 配置 如果项目涉及 ORM 操作,则可以进一步定制 Hibernate 行为: ```properties spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect spring.jpa.open-in-view=false ``` 此部分涵盖了自动 DDL 更新策略、日志记录 SQL 查询的功能开关以及特定于 MySQL 的方言支持[^3]。 #### 4. 多环境配置管理 为了适应不同运行环境的需求,推荐利用 profile 功能区分生产与测试场景下的差异化设定: ```properties # application-dev.properties spring.profiles.active=dev spring.datasource.url=jdbc:mysql://localhost:3306/dev_db # application-prod.properties spring.profiles.active=prod spring.datasource.url=jdbc:mysql://production-server:3306/prod_db ``` 以上方法能够有效分离各阶段所需的独立配置集。 #### 示例代码展示完整的 properties 文件结构 ```properties # DataSource Configuration spring.datasource.url=jdbc:mysql://localhost:3306/sampledb?useSSL=false&serverTimezone=UTC spring.datasource.username=admin spring.datasource.password=secret spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # Connection Pool Settings (HikariCP) spring.datasource.hikari.connection-timeout=20000 spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.minimum-idle=5 # JPA / Hibernate Properties spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect spring.jpa.open-in-view=false ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值