java中使用JDBC或者C3P0时,Query,QueryForObject,QueryForMap,QueryForList的用法

在 Java 中使用 JDBC 连接数据库时,queryForList 是 Spring Framework 中 JdbcTemplate 类的一个方法,用于执行查询语句并将结果封装为一个列表(List)的形式返回。这个方法通常用于查询多行记录,并将每行记录的数据以 Map 的形式存储在列表中。

以下是 queryForList 方法的使用方法及示例:
 

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

// 创建 JdbcTemplate 对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

// 编写查询语句
String sql = "SELECT * FROM employees";

// 使用 queryForList 方法执行查询
List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql);

// 遍历结果列表
for (Map<String, Object> row : resultList) {
    System.out.println("Employee ID: " + row.get("employee_id"));
    System.out.println("First Name: " + row.get("first_name"));
    // ... 依次输出其他字段
}


除了 queryForList,还有一些其他类似的方法用于执行查询操作,它们的用法如下:

query 方法:执行查询并将结果映射到自定义对象中,通常需要实现 RowMapper 接口来进行结果映射。


List<Employee> employees = jdbcTemplate.query(sql, new RowMapper<Employee>() {
    @Override
    public Employee mapRow(ResultSet rs, int rowNum) throws SQLException {
        Employee employee = new Employee();
        employee.setId(rs.getInt("employee_id"));
        employee.setFirstName(rs.getString("first_name"));
        // ... 设置其他属性
        return employee;
    }
});


queryForObject 方法:执行查询并返回单个对象,如果结果不唯一或为空会抛出异常。
 

String name = jdbcTemplate.queryForObject
("SELECT first_name FROM employees WHERE employee_id = ?", String.class, 1);


queryForMap 方法:执行查询并将单行结果映射为一个 Map 对象。
 

Map<String, Object> employeeMap = 
jdbcTemplate.queryForMap
("SELECT * FROM employees WHERE employee_id = ?", 1);

System.out.println("First Name: " + employeeMap.get("first_name"));


这些方法都是 Spring Framework 提供的方便数据库查询的工具,能够帮助简化 JDBC 编程并提高开发效率。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值