zoukankan      html  css  js  c++  java
  • Spring对JDBC的支持

    一、使用JdbcTemplate对象来处理CRUD操作。

    不推荐使用JdbcDaoSupport。

    二、使用NameParameterJdbcTemplate

    该对象没有无参构造器,必须指定参数。
    可以为参数起名字。便于维护,但比较麻烦。可以传入对象修改数据库

    三、事务管理

    1. 配置事务管理器
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    
    1. 启用事务注解
    <tx:annotation-driven transaction-manager="transactionManager" />
    
    1. 使用
      在要使用事务的方法上加上@Transactional注解便可以使用事务

    四、事务的传播属性

    • 当事务方法比另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行
    • 事务的传播行为可以由传播属性指定。Spring定义了7中类传播行为
    • 使用propagation指定事务的传播行为,默认为REQUIRED。
    • 使用isolation属性指定事务的隔离级别
    • 使用rollbackForXXX设置事务回滚,默认所有异常都回滚
    • 使用readOnly指定事务是否为只读。可以帮助优化数据库引擎。若真的只是读取只,应设置readOnly=true
    • 使用timeout指定强制回滚之前事务可以占用的时间。
    传播属性 描述
    REQUIRED 如果有事务在运行,当前方法就在这个事务内运行,否则,就启动一个新的事务,并在自己的事务内运行
    REQUIRED_NEW 当前的方法必须启动新事务,并在它自己的事务内运行。如果有事务正在运行,应该将它挂起
    SUPPORTS 如果有事务在运行。当前的方法就在这个事务内运行,否则它可以不运行在事务
    NOT_SUPPORTE 当前的方法不应该运行在事务中,如果有运行的事务,将它挂起
    MANDATORY 当前方法必须运行在事务内部,如果没有正在运行的事务,就抛出异常
    NEVER 当前方法不应该运行在事务中,如果有运行的事务,就抛出异常
    NESTED 如果有事务在运行,当前的方法就应该在这个事务的嵌套事务内运行。否则,就启动一个新的事务,并在它自己的事务内运行
  • 相关阅读:
    js 注意
    JS学习大作业-Excel
    js继承
    转载:margin外边距合并问题以及解决方式
    CSS属性选择器和部分伪类
    HTML使用CSS样式的方法
    link元素 rel src href属性
    【2020.01.06】SDN大作业
    【2019.12.11】SDN上机第7次作业
    【2019.12.04】SDN上机第6次作业
  • 原文地址:https://www.cnblogs.com/ylcc-zyq/p/12547971.html
Copyright © 2011-2022 走看看