标签:头部 其他 导致 upd 模块化 小明 from 系统 情况
一致性(consistency)
隔离性(isolation)
1 public interface UserMapper { 2 3 List<User> selectUser(); 4 5 //添加用户 6 int addUser(User user); 7 8 //删除用户 9 int deleteUser(int id); 10 }
1 <insert id="addUser" parameterType="user"> 2 insert into mybatis.user (id, name, pwd) value (#{id},#{name},#{pwd}); 3 </insert> 4 5 <delete id="deleteUser" parameterType="_int"> 6 deletes from mybatis.user where id = #{id}; 7 </delete>
1 public class UserMapperImpl extends SqlSessionDaoSupport implements UserMapper { 2 3 4 public List<User> selectUser() { 5 User user = new User(7,"小明","123456"); 6 UserMapper mapper = getSqlSession().getMapper(UserMapper.class); 7 mapper.addUser(user); 8 mapper.deleteUser(7); 9 return mapper.selectUser(); 10 } 11 12 @Override 13 public int addUser(User user) { 14 return getSqlSession().getMapper(UserMapper.class).addUser(user); 15 } 16 17 @Override 18 public int deleteUser(int id) { 19 return getSqlSession().getMapper(UserMapper.class).deleteUser(id); 20 } 21 }
1 <beans xmlns="http://www.springframework.org/schema/beans" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns:tx="http://www.springframework.org/schema/tx" 4 xmlns:aop="http://www.springframework.org/schema/aop" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans.xsd 7 http://www.springframework.org/schema/aop 8 http://www.springframework.org/schema/aop/spring-aop.xsd 9 http://www.springframework.org/schema/tx 10 http://www.springframework.org/schema/tx/spring-tx.xsd">
1 <!--4.配置声明式事务 2 ref:引用我们的数据源 3 --> 4 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 5 <property name="dataSource" ref="dataSource" /> 6 </bean> 7 8 <!--5.结合AOP切入,保证事务的一致性--> 9 <!--配置事务通知--> 10 <tx:advice id="txAdvice" transaction-manager="transactionManager"> 11 <tx:attributes> 12 <!--配置哪些方法使用什么样的事务,配置事务的传播特性 13 1.事务的传播特性:多个事务方法相互调用时,事务如何在这些方法间传播 14 2.read-only="true":只读不可操作数据 15 3.propagation:用于配置事务的传播特性 16 4.propagation="REQUIRED":如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择(默认)。 17 --> 18 <tx:method name="add" propagation="REQUIRED"/> 19 <tx:method name="delete" propagation="REQUIRED"/> 20 <tx:method name="update" propagation="REQUIRED"/> 21 <tx:method name="query" read-only="true"/> 22 <tx:method name="*" propagation="REQUIRED"/> 23 </tx:attributes> 24 </tx:advice> 25 26 <!--6.配置AOP事务切入 27 配置切点为mapper包下的所有类和方法,用于保证事务的ACID 28 --> 29 <aop:config> 30 <aop:pointcut id="txPointcut" expression="execution(* ustc.wzh.mapper.*.*(..))"/> 31 <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/> 32 </aop:config>
标签:头部 其他 导致 upd 模块化 小明 from 系统 情况
原文地址:https://www.cnblogs.com/zhihaospace/p/12329488.html