Java Druid进行JDBC连接详解
简介
Druid是阿里巴巴开源的一个数据库连接池,Druid本身包含了JDBC和数据库连接池的实现,可以提供比JDBC更强大的扩展性和可用性。本攻略将详细介绍如何使用Java Druid进行数据库连接。
步骤
引入Druid依赖
在pom.xml中添加下面的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.8</version>
</dependency>
配置Druid数据源
编写配置类,配置Druid数据源
@Configuration
public class DruidConfig {
@Bean
public DruidDataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/test");
dataSource.setUsername("root");
dataSource.setPassword("root");
return dataSource;
}
}
其中包含了设置驱动、URL、用户名、密码等信息。
获取Druid连接
在代码中使用@Autowired注解进行自动注入,并通过getConnection()方法获取Druid连接。
@Autowired
private DataSource dataSource;
Connection conn = dataSource.getConnection();
示例
下面通过两个示例,对Druid进行使用说明。
示例一:查询数据库中user表的全部数据
@Service
public class UserService {
@Autowired
private DataSource dataSource;
public List<Map<String, Object>> selectAll() throws SQLException {
List<Map<String, Object>> result = new ArrayList<>();
try (
Connection conn = dataSource.getConnection();
PreparedStatement ps = conn.prepareStatement("SELECT * FROM user");
ResultSet rs = ps.executeQuery()
) {
while (rs.next()) {
Map<String, Object> map = new HashMap<>();
map.put("id", rs.getInt("id"));
map.put("name", rs.getString("name"));
map.put("age", rs.getInt("age"));
map.put("gender", rs.getString("gender"));
result.add(map);
}
}
return result;
}
}
使用JDBC的标准方式查询数据库中的user表。
在Controller中调用UserService中的selectAll()方法,获取从数据库中查询出的用户信息。
@GetMapping("/selectAll")
public Object selectAll() throws SQLException {
return userService.selectAll();
}
示例二:使用Druid进行数据库连接操作
@Service
public class DruidUserService {
@Autowired
private DataSource dataSource;
public List<Map<String, Object>> selectAll() throws SQLException {
List<Map<String, Object>> result = new ArrayList<>();
try (
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM user");
) {
while (rs.next()) {
Map<String, Object> map = new HashMap<>();
map.put("id", rs.getInt("id"));
map.put("name", rs.getString("name"));
map.put("age", rs.getInt("age"));
map.put("gender", rs.getString("gender"));
result.add(map);
}
}
return result;
}
}
通过Druid进行数据库操作,将数据库连接的获取方式进行了封装。
在Controller中调用DruidUserService中的selectAll()方法,获取从数据库中查询出的用户信息。
@GetMapping("/selectAllByDruid")
public Object selectAllByDruid() throws SQLException {
return druidUserService.selectAll();
}
结束语
以上,就是关于Java Druid进行JDBC连接的详细攻略。希望有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Durid进行JDBC连接详解 - Python技术站