0

0

简述JdbcTemolate类的含义

巴扎黑

巴扎黑

发布时间:2017-07-22 14:25:29

|

2296人浏览过

|

来源于php中文网

原创

JdbcTemolate类的介绍

jdbctemplate是spring jdbc的核心类,封装了常见的jdbc的用法,同时尽量避免常见的错误。该类简化jdbc的操作,我们只需要书写提供sql的代码和如何返回的结果的代码。jdbctemplate可以执行查询、更新等操作、初始化对resultsets的遍历操作以及捕获jdbc异常并将其转换成在org.springframework.dao包下定义的更常规更有用的异常类。

通过实现回调接口,可以自定义这些回调函数的具体操作。其中,PreparedStatementSetter和RowMapper是两个最常用的回调接口。

所有的SQL的操作都被以org.springframework.jdbc.core.JdbcTemplate下的debug级别的日志所记录。

说明:该类的实例在配置后是线程安全

JdbcAccessor类介绍

JdbcAccessor类是JdbcTemplate类的基类,用于处理JDBC的连接操作,同时也定义数据源、异常翻译器等常用属性。

JdbcOperations接口介绍

JdbcOperations接口定义了JDBC的一些基本操作,具体实现则放在JdbcTemplate类中,不推荐直接使用,但是由于比较适合于mock和stub,因此在测试的时候是一个非常好的选择。

JdbcTemplate的变量

ignoreWarnings

如果该变量为false,那么将抛出JDBC警告(SQL warnings)。默认为true。

说明:SQL Warnings 来处理不太严重的异常情况、非致命错误或意想不到的条件,因此可以忽略它们。

fetchSize

如果该变量为非负值,那将赋值给用于执行查询的statements的fetchSize变量。默认为-1。

maxRows

如果该变量为非负值,那将赋值给用于执行查询的statements的maxRows变量。默认为-1。

queryTimeout

如果该变量为非负值,那将赋值给用于执行查询的statements的queryTimeout变量。默认为-1。

论小文
论小文

可靠的论文写作助手,包含11种学术写作类型,万字论文一键生成,可降重降AIGC,参考文献真实可标注,图表代码均可自定义添加。

下载

skipResultsProcessing

如果该变量为true, 那么所有可调用语句处理都将绕过所有结果检查,这可以用来避免一些早期版本oracle jdbc驱动程序(如 10.1.0.2)中的bug。默认为false。

skipUndeclaredResults

如果该变量为true,那么有输出参数的存储过程的调用结果检查将被省略,除非skipResultsProcessing为true,否侧其他返回结果都将被处理。默认为false。

dataSource

该变量为javax.sql.DataSource类型,从JdbcAccessor类继承而来,可以为null,但是在Spring初始化Bean的时候会检查该变量,如果为null,将抛出IllegalArgumentException,提示"Property 'dataSource' is required"。

exceptionTranslator

该变量属于一个函数式接口,用于将SQLException和Spring自定义的DataAccessException转化,从JdbcAccessor类继承而来,可以为null。

lazyInit

如果该变量为true,那么知道第一次遇到SQLException,否则不初始化exceptionTranslator。默认为true。

因为JdbcAccessor类继承了InitializingBean接口,而JdbcTemplate类由继承了JdbcAccessor类,因此Spring初始化JdbcTemplate这个bean的时候会调用afterPropertiesSet。此时如果lazyInit为false且exceptionTranslator,那么则将对exceptionTranslator尝试初始化,如果dataSource为null则使用SQLStateSQLExceptionTranslator进行初始化,否则使用SQLErrorCodeSQLExceptionTranslator。

nativeJdbcExtractor

自定义本地JDBC操作对象,用于操作非标准的JDBC API。

为了更好支持JDBC4,SpringFramework工作组于2017年6月7号在Github上的master分支上删除了nativeJdbcExtractor,但其他分支还存在该变量,尚不清楚为了是否恢复该变量

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

40

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

50

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

12

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

13

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

Webpack4.x---十天技能课堂
Webpack4.x---十天技能课堂

共20课时 | 1.4万人学习

Bootstrap4.x---十天精品课堂
Bootstrap4.x---十天精品课堂

共22课时 | 1.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号