java调用conn.properties文件,完成数据库连接,定义类为DatabaseCon;,详细步骤从新建项目开始的过程每一步都写出来
时间: 2024-09-19 18:06:34 浏览: 31
在Java中,通过`Properties`类读取`conn.properties`配置文件并连接到数据库通常涉及到以下几个步骤:
1. **创建新项目**:
- 打开你的Java集成开发环境(如Eclipse, IntelliJ IDEA等)。
- 创建一个名为`src/main/resources`的目录,这是Java应用程序默认查找资源的地方。
- 在该目录下创建一个名为`conn.properties`的文本文件,用于存放数据库连接信息。例如,内容可能像这样:
```
url=jdbc:mysql://localhost:3306/testdb
username=root
password=yourpassword
```
3. **导入必要的库**:
- 如果还没有导入JDBC驱动,你需要在项目的pom.xml (Maven) 或 build.gradle (Gradle) 文件中添加MySQL JDBC驱动依赖。例如,对于Maven,添加如下到pom.xml:
```xml
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
</dependencies>
```
4. **创建DatabaseCon类**:
- 新建一个名为`DatabaseCon.java`的Java文件,编写一个工具类来处理数据库连接:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class DatabaseCon {
private static final String PROPERTIES_FILE = "conn.properties";
// 私有静态属性,存储数据库连接信息
private static Properties connectionProperties;
static {
loadProperties();
}
private static void loadProperties() {
try {
FileInputStream fis = new FileInputStream(PROPERTIES_FILE);
connectionProperties = new Properties();
connectionProperties.load(fis);
fis.close();
} catch (IOException e) {
System.err.println("Error loading properties file: " + e.getMessage());
}
}
// 获取数据库URL
public static String getUrl() {
return connectionProperties.getProperty("url");
}
// ...其他数据库连接相关的getter方法...
}
```
5. **使用Connection**:
- 在需要连接数据库的类中,你可以通过`DatabaseCon`获取连接信息,然后建立连接:
```java
public class SomeClass {
public void someMethod() {
String url = DatabaseCon.getUrl();
String username = DatabaseCon.getUsername(); //假设有个对应username的getter
String password = DatabaseCon.getPassword();
// 创建连接,此处省略实际的JDBC代码
Connection conn = DriverManager.getConnection(url, username, password);
// 使用连接...然后关闭连接
try (Connection dbConn = conn; Statement stmt = conn.createStatement()) {
// SQL查询...
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
```