一、项目依赖
springboot项目,默认使用HikariDataSource数据源,Druid依赖如下
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> </dependency>
二、数据表结构及数据
三、基于Druid代码
package com.lets.controller.system; import com.alibaba.druid.pool.DruidDataSource; import lombok.extern.slf4j.Slf4j; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @Slf4j public class Main { public static void main(String[] args) throws SQLException { // 创建数据源 DruidDataSource druid=new DruidDataSource(); // 设置数据url druid.setUrl("jdbc:postgresql://x.xxx.xx.xxx:xxxx/xxxx"); // 设置用户名 druid.setUsername("xxxxx"); // 设置用户密码 druid.setPassword("xxxxx"); // 设置驱动名称 druid.setDriverClassName("org.postgresql.Driver"); // 数据库链接 Connection connection = druid.getConnection(); // 设置预执行sql PreparedStatement preparedStatement = connection.prepareStatement("select * from dictionary where id=?"); // 补充占位符 preparedStatement.setLong(1,1L); // 获取返回结果 ResultSet resultSet = preparedStatement.executeQuery(); // 输出返回结果 while (resultSet.next()) { // 根据数据库情况,合理获取对应列 long ids = resultSet.getLong(1); String name = resultSet.getString(2); String code = resultSet.getString(3); log.info("id->{} name->{} code->{}",ids,name,code); } System.out.println(druid); // 关闭资源 if (preparedStatement!=null) { preparedStatement.close(); } if (druid!=null) { connection.close(); } } }
四、基于 HikariDataSource代码
package com.lets.controller.system; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import lombok.extern.slf4j.Slf4j; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @Slf4j public class Main2 { public static void main(String[] args) throws SQLException { // 设置数据源配置 HikariConfig configuration = new HikariConfig(); // 设置数据url configuration.setJdbcUrl("jdbc:postgresql://x.xx.xx.xx:xxx/xxx"); // 设置驱动名称 configuration.setDriverClassName("org.postgresql.Driver"); // 设置用户名 configuration.setUsername("xxxxx"); // 设置用户密码 configuration.setPassword("xxxxx"); // 创建数据源 HikariDataSource dataSource=new HikariDataSource(configuration); // 数据库链接 Connection connection = dataSource.getConnection(); // 设置预执行sql PreparedStatement preparedStatement = connection.prepareStatement("select * from dictionary where id=?"); // 补充占位符 preparedStatement.setLong(1,1L); // 获取返回结果 ResultSet resultSet = preparedStatement.executeQuery(); // 输出返回结果 while (resultSet.next()) { // 根据数据库情况,合理获取对应列 long ids = resultSet.getLong(1); String name = resultSet.getString(2); String code = resultSet.getString(3); log.info("id->{} name->{} code->{}",ids,name,code); } System.out.println(dataSource); // 关闭资源 if (preparedStatement!=null) { preparedStatement.close(); } if (dataSource!=null) { connection.close(); } } }