写一个spring boot的数据库连接工具
时间: 2024-02-06 12:04:01 浏览: 145
以下是一个简单的使用Spring Boot连接MySQL数据库的示例:
1. 首先在pom.xml中添加MySQL数据库驱动依赖:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
```
2. 在application.properties中添加数据库连接配置:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
3. 创建一个数据库连接工具类:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class DBUtil {
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
public Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, username, password);
}
}
```
这里的DBUtil使用了Spring Boot提供的@Value注解来注入配置文件中的数据库连接信息,然后在getConnection方法中使用JDBC来获取一个数据库连接。getConnection方法抛出SQLException,需要在调用时处理异常。
4. 在Spring Boot应用中使用该工具类:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
@Autowired
private DBUtil dbUtil;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
public void run(String... args) throws Exception {
try (Connection conn = dbUtil.getConnection();
PreparedStatement ps = conn.prepareStatement("SELECT * FROM test_table");
ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("id: " + id + ", name: " + name);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在Application类中,通过@Autowired注解将DBUtil注入进来,然后在run方法中调用DBUtil的getConnection方法获取一个数据库连接,使用JDBC来执行SQL查询。需要注意的是,在使用完数据库连接之后需要关闭数据库资源,这里使用了try-with-resources语句来自动关闭资源。
阅读全文