# db-utils
**Repository Path**: Demitri/db-utils
## Basic Information
- **Project Name**: db-utils
- **Description**: 数据库连接工具
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-15
- **Last Updated**: 2025-08-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 数据库工具库 (DB-Utils)
这是一个基于Java 8的数据库操作工具库,可以打包成jar包并引入到其他Java项目中使用。它提供了常用的数据库操作功能,帮助开发者简化数据库访问代码。
## 功能特点
- 数据库连接池管理
- 通用JDBC操作封装
- 事务支持
- 实体对象映射
- 批量操作支持
- 灵活的查询结果处理机制
- **自动配置和初始化**(无需手动配置即可使用)
- **完整的UTF-8编码支持**(配置文件和数据库连接)
## 编码说明
整个工程采用UTF-8编码,确保中文等多语言环境下的正常运行:
1. 源代码文件采用UTF-8编码
2. 配置文件读取时使用UTF-8编码
3. 默认数据库连接带有UTF-8字符集设置
4. Maven编译时指定UTF-8编码
这样可以确保从配置文件到数据库连接的整个过程都能正确处理中文等特殊字符。
## 如何使用
### 1. 构建JAR包
使用Maven构建项目:
```bash
cd db-utils
mvn clean package
```
构建完成后,JAR包将在`target`目录中生成。
### 2. 在其他项目中引入
在你的项目的`pom.xml`中添加依赖:
```xml
com.example
db-utils
1.0-SNAPSHOT
```
如果你使用的是本地JAR包,可以通过以下方式引入:
```xml
com.example
db-utils
1.0-SNAPSHOT
system
${project.basedir}/lib/db-utils-1.0-SNAPSHOT.jar
```
### 3. 数据库连接池初始化
#### 方式1:自动初始化(推荐)
添加依赖后,数据库工具库会在首次使用时自动尝试初始化。它会按以下顺序查找配置:
1. 应用根目录下的`application.properties`或`application.yml`
2. 类路径下的`application.properties`
3. 类路径下的`db.properties`
4. 环境变量和系统属性
5. 内置默认配置
你只需要在项目根目录或类路径下添加配置文件即可:
**application.properties 示例**:
```properties
# 数据库连接信息
db.driverClassName=com.mysql.cj.jdbc.Driver
db.jdbcUrl=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8
db.username=myuser
db.password=mypassword
db.maxPoolSize=10
```
**application.yml 示例**:
```yaml
db:
driverClassName: com.mysql.cj.jdbc.Driver
jdbcUrl: jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8
username: myuser
password: mypassword
maxPoolSize: 10
```
#### 方式2:手动初始化
如果你希望手动控制初始化过程,可以使用以下方法:
```java
// 方法1:直接传入连接参数
DatabaseManager.initialize(
"jdbc:mysql://localhost:3306/mydb",
"username",
"password",
10 // 最大连接数
);
// 方法2:使用Properties配置
Properties props = new Properties();
props.setProperty("jdbcUrl", "jdbc:mysql://localhost:3306/mydb");
props.setProperty("username", "username");
props.setProperty("password", "password");
props.setProperty("maximumPoolSize", "10");
DatabaseManager.initialize(props);
// 方法3:使用配置类
DbConfig config = new DbConfig()
.setJdbcUrl("jdbc:mysql://localhost:3306/mydb")
.setUsername("username")
.setPassword("password")
.setMaxPoolSize(10);
DatabaseManager.initialize(config);
// 方法4:从配置文件初始化
DatabaseManager.initializeFromFile("path/to/config.properties"); // 支持.properties和.yml文件
```
#### 禁用自动初始化
如果你不希望使用自动初始化功能:
```java
// 禁用自动初始化
DatabaseManager.setAutoInitFromConfig(false);
```
### 4. 使用JdbcUtils执行SQL操作
```java
// 执行查询
List