Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
iCodingStar committed Aug 28, 2016
1 parent 2a83df2 commit edde6fe
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import cn.codingstar.chero.service.UniqueKeyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.Calendar;

Expand All @@ -38,7 +40,39 @@ public class DataGenerateServiceImpl implements DataGenerateService {
@Autowired
private UniqueKeyService uniqueKeyService;

/*生成用户id*/
/**
* 生成用户id
* @return 用户id
*/

/**
* Spring事务传播属性总结:
* Propagation.REQUIRED : 支持当前事务,如果没有当前事务,就新建一个事务。
* Propagation.REQUIRES_NEW :新建一个事物,如果存在当前事务,就把当前事务挂起。新建的事务和挂起的事务没有任何关系。
* 外层事务失败回滚之后,不能回滚内层事务执行结果。内层事务失败抛出异常,外层事物捕获。也可以不处理回滚操作。
* Propagation.SUPPORTS : 支持当前事务,如果没有事务,就以非事务方式执行。
* Propagation.MANDATORY : 支持当前事务,如果没有事物就抛出异常。
* Propagation.NOT_SUPPORTED : 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
* Propagation.NEVER : 以非事务方式执行,如果当前存在事物,就抛出异常。
* Propagation.NESTED : 如果一个活动的事物存在,则运行在一个嵌套的事务中。如果没有活动事务,则按REQUIRED方式执行。
* 它使用了一个单独的事物,这个事务拥有多个可以回滚的保存点,内部事务的回滚不会对外部的事务造成影响。
* 它只对DataSourceTransactionManager事务管理器起效。
*
* Spring事务隔离级别总结:
* 1) 数据库隔离级别
* 隔离级别 隔离级别的值 导致的问题
* Read-Uncommitted 0 导致脏读
* Read-Committed 1 避免脏读,允许不可重复读和幻读
* Repeatable-Read 2 避免脏读,不可重复读,允许幻度
* Serializable 3 串行化读,事务只能一个一个执行,避免了脏读,不可重复读,幻读。执行效率慢,使用需谨慎。
* 说明:
* 脏读:
* 不可重复读:
* 幻读:
*
* 2)
*/
@Transactional(propagation = Propagation.NESTED)
public String generateMemberId() {
Calendar calendar = Calendar.getInstance();
Integer year = calendar.get(Calendar.YEAR);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public class MemberServiceImpl implements MemberService {
private MemberCustomMapper memberCustomMapper;

@Autowired
private DataGenerateServiceImpl dataGenerator;
private DataGenerateServiceImpl dataGenerateService;

/***
* 会员注册
Expand Down Expand Up @@ -83,7 +83,7 @@ public boolean register(Member member) {
}

//设置memberId
String memberId = dataGenerator.generateMemberId();
String memberId = dataGenerateService.generateMemberId();
originMember.setMemberId(memberId);

//加密密码
Expand Down Expand Up @@ -189,9 +189,9 @@ public boolean checkMemberEmail(String memberEmail) {
Member originMember = new Member();
originMember.setMemberEmail(memberEmail);
Member member = memberCustomMapper.selectByMember(originMember);
if (!ObjectUtils.isEmpty(member)){
if (!ObjectUtils.isEmpty(member)) {
return true;//邮箱存在
}else {
} else {
return false;//邮箱不存在
}
}
Expand Down

0 comments on commit edde6fe

Please sign in to comment.