DTO属性(字段)如果是大写开头的如Id,那么mapper(xml)文件中可以使用id,或Id,但是如果DTO属性是小写的如private id, 那么mapper文件中的 #{id}只能是小写的。

使用@Transactional 标记类后,类中的方法,将变成一个事务域,如果Service之间有互相引用时,事务同样是按最外层的事务控制为准

-------------------

有类Aimpl

public class AImpl{

@Transactional(propagation=Propagation.REQUIRES) 
 void Add(person p){

dao.Insert(p)     
  Update(p);

}

@Transactional(propagation=Propagation.REQUIRES_NEW) 
void Update(Person p){
   dao.update(p)
  }

}

以上方法在执行AImpl.Add(p)时,Add对Update 的调用会忽略Update的注解,因为Add对Update的调用没有通过AImpl的代理类进行,事务AOP的切入点、通知便无从谈起,所以事务的传播属性一般指类之间的调用,当然这些类必须是通过spring容器创建的代理类.
可以在AImpl 中增加一字段
@Resource
private AImpl aService;
这样在Add方法中通过aService.Update进行调用,这样就能使Update上的事务注解属性发挥作用,需要注意的是,AImpl不能实现任何接口,如果AImpl实现了某接口那么就需要抽取AImpl的方法到A接口中,上面的注入改成:
@Resource
private A aService;
不这样会报错。因为使用接口后,spring的代理类不是采用Enhance方式生成,而改用了动态代理的接口方式生成,造成强转错误。

mybatis3.2.2的一些测试相关推荐

  1. SpringBoot + MyBatis(注解版),常用的SQL方法

    一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...

  2. mybatis异常invalid comparison: java.util.Date and java.lang.String

    原文链接:http://blog.csdn.net/wanghailong_qd/article/details/50673144 mybatis异常invalid comparison: java. ...

  3. Spring3.2.8+Mybatis3.2.6 多数据源基于BaseDAO的配置

    Spring3.2.8+Mybatis3.2.6 多数据源基于BaseDAO的配置 配置数据源为: MySQL5.5.6 H2Database 1.3.75 这个配置起来比较麻烦,本文这种方法有点麻烦 ...

  4. 在Mybatis3开发中与配置相关的7点体会

    Mybatis3前身是Apche开源项目ibatis,后前移至google code改名为Mybatis,mybatis是Java持久化框架,关于Mybatis学习难度不大,熟悉JDBC编程的话,相信 ...

  5. MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合

    2019独角兽企业重金招聘Python工程师标准>>> 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -Dgrou ...

  6. Maven整合SSM测试

    前面也说到了关于SSM的整合,话不多说直接从创建项目开始CRUD之路(参考前面写过的Mybatis和Spring整合,SSM简单整合),这是整个项目的结构 以及最终的结果.(附上下载地址) 一.创建M ...

  7. mybatis3.2.8 与 hibernate4.3.6 混用

    mybatis.hibernate这二个框架各有特色,对于复杂的查询,利用mybatis直接手写sql控制起来更灵活,而一般的insert/update,hibernate比较方便.同一个项目中,这二 ...

  8. mybatis3.2.3+spring整合

    mybatis3.2.3+spring整合(附带源码) mybatis3.2.3整合spring其实就那么几步,网上很多文章大篇幅地将原理,很多时候把人给弄糊涂了,我的建议是"先学会怎么用, ...

  9. servlet增删改查实例_SpringMVC4+MyBatis3+SQLServer 2014 整合(包括增删改查分页)

    前言 说起整合自然离不开ssm,我本身并不太喜欢ORM,尤其是MyBatis,把SQL语句写在xml里,尤其是大SQL,可读性不高,出错也不容易排查. 开发环境 idea2016.SpringMVC4 ...

最新文章

  1. 大数的减法函数--c语言
  2. 为office添加繁简体转换
  3. 高考结束了,来看下QS最新全球大学排名,清华北大进前20
  4. 软件工程概论 课堂练习【空调公司维修服务流程】
  5. python服务器查看文件更改记录,Python记录到同一文件,不同用户
  6. 二分查找(对半搜索)
  7. 极客精神|自制机械臂!被任正非表扬的华为天才少年
  8. 支付宝通知侦听器是什么_使用SWTEventHelper清除SWT侦听器通知
  9. mysql5.5客户端_MySQL 5.5/5.6——概述 MySQL 客户端程序
  10. Python并发编程:多进程-守护进程
  11. sublime text3 3176激活
  12. 动态规划——最长公共子串,没有比这更通俗易懂的了
  13. 酷派起诉小米:你竟敢侵我的权?
  14. bat 指定每一周的某一天(比如周五) 执行某一程序(比如飞鸽)
  15. Protel99SE快捷键大全
  16. 论巴西世界杯带给移动互联网产品的契机!
  17. 图文解析如何配置网络交换机配置
  18. MySQL数据库id主键或密码使用MD5加密
  19. 显著性检测学习笔记(2):DMRA__2019_ICCV
  20. 【AUTOSAR】:功能安全(HSM与HOST的配置)

热门文章

  1. win10 快速访问存在 2345Downloads 删除解决方案
  2. c语言中用于程序化结构设计的三种结构是,c语言中用于结构化程序设计的3种基本结构是...
  3. win10电脑ip地址怎么设置?几步就能学会
  4. access性别字段_12、ACCESS数据表的筛选(ACCESS图解操作系列)
  5. python标准库os的方法listdir_Python3 os.listdir() 方法
  6. python保持登录状态_Python-保持登录状态进行接口测试
  7. kali linux卸载lnmp,kali linux 如何安装lnmp 1.2
  8. Opencv之形状距离匹配--createShapeContextDistanceExtractor
  9. sql同时修改两个表的数据_如何用SQL做数据透视表?
  10. 最大规模传统零售升级揭晓 100家大润发线上线下同步加入天猫618