mybatis3.2.2的一些测试
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的一些测试相关推荐
- SpringBoot + MyBatis(注解版),常用的SQL方法
一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...
- mybatis异常invalid comparison: java.util.Date and java.lang.String
原文链接:http://blog.csdn.net/wanghailong_qd/article/details/50673144 mybatis异常invalid comparison: java. ...
- Spring3.2.8+Mybatis3.2.6 多数据源基于BaseDAO的配置
Spring3.2.8+Mybatis3.2.6 多数据源基于BaseDAO的配置 配置数据源为: MySQL5.5.6 H2Database 1.3.75 这个配置起来比较麻烦,本文这种方法有点麻烦 ...
- 在Mybatis3开发中与配置相关的7点体会
Mybatis3前身是Apche开源项目ibatis,后前移至google code改名为Mybatis,mybatis是Java持久化框架,关于Mybatis学习难度不大,熟悉JDBC编程的话,相信 ...
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
2019独角兽企业重金招聘Python工程师标准>>> 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -Dgrou ...
- Maven整合SSM测试
前面也说到了关于SSM的整合,话不多说直接从创建项目开始CRUD之路(参考前面写过的Mybatis和Spring整合,SSM简单整合),这是整个项目的结构 以及最终的结果.(附上下载地址) 一.创建M ...
- mybatis3.2.8 与 hibernate4.3.6 混用
mybatis.hibernate这二个框架各有特色,对于复杂的查询,利用mybatis直接手写sql控制起来更灵活,而一般的insert/update,hibernate比较方便.同一个项目中,这二 ...
- mybatis3.2.3+spring整合
mybatis3.2.3+spring整合(附带源码) mybatis3.2.3整合spring其实就那么几步,网上很多文章大篇幅地将原理,很多时候把人给弄糊涂了,我的建议是"先学会怎么用, ...
- servlet增删改查实例_SpringMVC4+MyBatis3+SQLServer 2014 整合(包括增删改查分页)
前言 说起整合自然离不开ssm,我本身并不太喜欢ORM,尤其是MyBatis,把SQL语句写在xml里,尤其是大SQL,可读性不高,出错也不容易排查. 开发环境 idea2016.SpringMVC4 ...
最新文章
- 大数的减法函数--c语言
- 为office添加繁简体转换
- 高考结束了,来看下QS最新全球大学排名,清华北大进前20
- 软件工程概论 课堂练习【空调公司维修服务流程】
- python服务器查看文件更改记录,Python记录到同一文件,不同用户
- 二分查找(对半搜索)
- 极客精神|自制机械臂!被任正非表扬的华为天才少年
- 支付宝通知侦听器是什么_使用SWTEventHelper清除SWT侦听器通知
- mysql5.5客户端_MySQL 5.5/5.6——概述 MySQL 客户端程序
- Python并发编程:多进程-守护进程
- sublime text3 3176激活
- 动态规划——最长公共子串,没有比这更通俗易懂的了
- 酷派起诉小米:你竟敢侵我的权?
- bat 指定每一周的某一天(比如周五) 执行某一程序(比如飞鸽)
- Protel99SE快捷键大全
- 论巴西世界杯带给移动互联网产品的契机!
- 图文解析如何配置网络交换机配置
- MySQL数据库id主键或密码使用MD5加密
- 显著性检测学习笔记(2):DMRA__2019_ICCV
- 【AUTOSAR】:功能安全(HSM与HOST的配置)
热门文章
- win10 快速访问存在 2345Downloads 删除解决方案
- c语言中用于程序化结构设计的三种结构是,c语言中用于结构化程序设计的3种基本结构是...
- win10电脑ip地址怎么设置?几步就能学会
- access性别字段_12、ACCESS数据表的筛选(ACCESS图解操作系列)
- python标准库os的方法listdir_Python3 os.listdir() 方法
- python保持登录状态_Python-保持登录状态进行接口测试
- kali linux卸载lnmp,kali linux 如何安装lnmp 1.2
- Opencv之形状距离匹配--createShapeContextDistanceExtractor
- sql同时修改两个表的数据_如何用SQL做数据透视表?
- 最大规模传统零售升级揭晓 100家大润发线上线下同步加入天猫618