mybatis不提交事务获取主键
2014-12-31 12:03
232 查看
@Transactional(propagation = Propagation.REQUIRED,rollbackFor= Exception.class)
insert操作数据库时候,先得到对应的主键然后提交事务插入对应数据
例:
<insert id="insert" parameterType="com.wjs.model.UserModel" useGeneratedKeys="true" keyProperty="id">
insert into table() values
</insert>
user.insert((T)user);
自动把主键赋到user表中
类前面加@Transactional(propagation = Propagation.REQUIRED,rollbackFor= Exception.class)
注:spring注解事务
// 如果有事务,那么加入事务,没有的话新建一个(不写的情况下)
@Transactional(propagation=Propagation.REQUIRED)
// 容器不为这个方法开启事务
@Transactional(propagation=Propagation.NOT_SUPPORTED)
// 不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务
@Transactional(propagation=Propagation.REQUIRES_NEW)
// 必须在一个已有的事务中执行,否则抛出异常
@Transactional(propagation=Propagation.MANDATORY)
// 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)
@Transactional(propagation=Propagation.NEVER)
// 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
@Transactional(propagation=Propagation.SUPPORTS)
@Transactional(propagation=Propagation.NESTED)
// readOnly=true只读,不能更新,删除
@Transactional (propagation = Propagation.REQUIRED,readOnly=true)
// 设置超时时间
@Transactional (propagation = Propagation.REQUIRED,timeout=30)
// 设置数据库隔离级别
@Transactional (propagation = Propagation.REQUIRED,isolation=Isolation.DEFAULT)
insert操作数据库时候,先得到对应的主键然后提交事务插入对应数据
例:
<insert id="insert" parameterType="com.wjs.model.UserModel" useGeneratedKeys="true" keyProperty="id">
insert into table() values
</insert>
user.insert((T)user);
自动把主键赋到user表中
类前面加@Transactional(propagation = Propagation.REQUIRED,rollbackFor= Exception.class)
注:spring注解事务
// 如果有事务,那么加入事务,没有的话新建一个(不写的情况下)
@Transactional(propagation=Propagation.REQUIRED)
// 容器不为这个方法开启事务
@Transactional(propagation=Propagation.NOT_SUPPORTED)
// 不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务
@Transactional(propagation=Propagation.REQUIRES_NEW)
// 必须在一个已有的事务中执行,否则抛出异常
@Transactional(propagation=Propagation.MANDATORY)
// 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)
@Transactional(propagation=Propagation.NEVER)
// 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
@Transactional(propagation=Propagation.SUPPORTS)
@Transactional(propagation=Propagation.NESTED)
// readOnly=true只读,不能更新,删除
@Transactional (propagation = Propagation.REQUIRED,readOnly=true)
// 设置超时时间
@Transactional (propagation = Propagation.REQUIRED,timeout=30)
// 设置数据库隔离级别
@Transactional (propagation = Propagation.REQUIRED,isolation=Isolation.DEFAULT)
相关文章推荐
- mybatis一个业务多次提交事务commit造成主键不顺序递增(触发器的原因)
- mybatis 事务内部获取自增主键
- mybatis3 insert语句获取主键
- MyBatis插入时候获取自增主键方法
- MyBatis插入时候获取自增主键方法
- MyBatis插入及查询获取自增主键二选一的方法
- MyBatis插入时候获取自增主键方法
- mybatis插入操作时获取主键
- mybatis如何获取oracle新插入数据记录的主键?
- MyBatis 3.2.6插入时候获取自增主键方法有二
- Mybatis——<selectKey>生成主键/获取插入数据主键
- 开启事务时mybatis返回主键id
- mybatis获取插入数据主键
- mybatis插入的同时获取主键id
- mybatis新增数据,数据VO获取db记录主键
- MyBatis 3.2.6插入时候获取自增主键方法
- spring mybatis insert selectkey 获取不到主键值
- MyBatis插入时候获取自增主键方法
- myBatis插入oracle获取主键
- MyBatis插入时候获取自增主键方法