您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring对JDBC的支持

bubuko 2022/1/25 20:03:37 java 字数 2360 阅读 1010 来源 http://www.bubuko.com/infolist-5-1.html

一、使用JdbcTemplate对象来处理CRUD操作。 不推荐使用JdbcDaoSupport。 二、使用NameParameterJdbcTemplate 该对象没有无参构造器,必须指定参数。 可以为参数起名字。便于维护,但比较麻烦。可以传入对象修改数据库 三、事务管理 1. 配置事务管理器 2 ...

一、使用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中类传播行为
  • 使用pripagation指定事务的传播行为,默认为REQUIRED。
  • 使用isolation属性指定事务的隔离级别
  • 使用rollbackForXXX设置事务回滚,默认所有异常都回滚
  • 使用readOnly指定事务是否为只读。可以帮助优化数据库引擎。若真的只是读取只,应设置readOnly=true
  • 使用timeout指定强制回滚之前事务可以占用的时间。
传播属性 描述
REQUIRED 如果有事务在运行,当前方法就在这个事务内运行,否则,就启动一个新的事务,并在自己的事务内运行
REQUIRED_NEW 当前的方法必须启动新事务,并在它自己的事务内运行。如果有事务正在运行,应该将它挂起
SUPPORTS 如果有事务在运行。当前的方法就在这个事务内运行,否则它可以不运行在事务
NOT_SUPPORTE 当前的方法不应该运行在事务中,如果有运行的事务,将它挂起
MANDATORY 当前方法必须运行在事务内部,如果没有正在运行的事务,就抛出异常
NEVER 当前方法不应该运行在事务中,如果有运行的事务,就抛出异常
NESTED 如果有事务在运行,当前的方法就应该在这个事务的嵌套事务内运行。否则,就启动一个新的事务,并在它自己的事务内运行

Spring对JDBC的支持

原文:https://www.cnblogs.com/ylcc-zyq/p/12547971.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶