如何使用JDBC在MySQL中获取count(*)结果并赋值给Java整数变量?
将MySQL COUNT查询结果存入Java整数变量的方法
方法一:原生JDBC实现
这是最基础的实现方式,直接用JDBC API完成查询与结果提取:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class EmployeeCountQuery { public static void main(String[] args) { // 数据库连接参数 String dbUrl = "jdbc:mysql://localhost:3306/your_db_name?useSSL=false&serverTimezone=UTC"; String dbUser = "your_username"; String dbPwd = "your_password"; int employeeCount = 0; // 存储统计结果的整数变量 // 用try-with-resources自动关闭连接、Statement、ResultSet,避免资源泄漏 try (Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select count(*) from employeedetails")) { // count(*)只会返回一行结果,调用next()移动到结果行 if (rs.next()) { // 通过列索引(从1开始)获取结果,也可以用列名"count(*)" employeeCount = rs.getInt(1); } } catch (Exception e) { // 实际业务中可替换为自定义异常处理逻辑 e.printStackTrace(); } // 此时employeeCount已存入统计值 System.out.println("员工总数:" + employeeCount); } }
注意事项:
- 必须确保数据库驱动(mysql-connector-java)已加入项目依赖
- 不要省略异常处理,根据业务场景定制错误处理逻辑
方法二:Spring JdbcTemplate实现
如果项目基于Spring框架,用JdbcTemplate可以大幅简化代码,无需手动管理数据库资源:
import org.springframework.jdbc.core.JdbcTemplate; import javax.sql.DataSource; public class EmployeeCountService { private final JdbcTemplate jdbcTemplate; // 通过构造方法注入DataSource,初始化JdbcTemplate public EmployeeCountService(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } public int getEmployeeTotalCount() { String sql = "select count(*) from employeedetails"; // queryForObject直接返回单个整数结果 return jdbcTemplate.queryForObject(sql, Integer.class); } }
注意事项:
- 需确保Spring容器中已正确配置
DataSource(比如通过application.yml/properties配置连接参数) - 若极端情况下查询返回空结果(count(*)理论不会出现),
queryForObject会抛出EmptyResultDataAccessException,可按需捕获处理
内容的提问来源于stack exchange,提问作者lord foul
相关产品推荐
相关产品推荐

