You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询JdbcTemplate.query内联函数中Connection的注入方式及创建逻辑

关于JdbcTemplate中connection参数的来源解释

你看到的这个connection变量,是Spring的JdbcTemplate内部帮你创建并传入的,不用你自己声明,具体逻辑是这样的:

  • 这段代码调用的是JdbcTemplate.query的重载方法,第一个参数要求实现PreparedStatementCreator接口。这个接口只有一个抽象方法:
    PreparedStatement createPreparedStatement(Connection con) throws SQLException;
    
  • 你写的connection -> {...}是Java的Lambda表达式,用来简化这个接口的实现。这里的connection就是对应上面接口方法里的con参数,是方法的形参。
  • 当JdbcTemplate执行这个query方法时,它会从你配置好的数据源(DataSource)里获取一个数据库连接,然后把这个连接作为实参传入你的Lambda表达式中,你就可以直接用这个connection来创建PreparedStatement了。
  • 另外,JdbcTemplate还会帮你处理连接的后续管理:比如查询完成后自动把连接归还到连接池,不用你手动关闭。

内容的提问来源于stack exchange,提问作者CCNA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 10:14:55