zoukankan      html  css  js  c++  java
  • JdbcTemolate类的介绍<一>

    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。

    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,但其他分支还存在该变量,尚不清楚为了是否恢复该变量

  • 相关阅读:
    log4j的基本配置参数
    插入透明背景Flash的HTML代码
    oracle获取字符串长度函数length()和hengthb()
    HSQLDB安装与使用
    linux下完全删除Oracle
    SQL查询前几条记录
    LINUX安装ORACLE 9204 报错解决!!
    ORACLE 归档日志打开关闭方法
    hsqldb快速入门
    Openstack中查看虚拟机console log的几种方法
  • 原文地址:https://www.cnblogs.com/xiao2/p/7148666.html
Copyright © 2011-2022 走看看