


package?com.miaoshaproject.service.impl;import?org.springframework.beans.BeanUtils;import?org.springframework.beans.factory.annotation.Autowired;import?org.springframework.stereotype.Service;import?org.springframework.transaction.annotation.Transactional;import?com.alibaba.druid.util.StringUtils;import?com.miaoshaproject.dao.UserDOMapper;import?com.miaoshaproject.dao.UserPasswordDOMapper;import?com.miaoshaproject.dataobject.UserDO;import?com.miaoshaproject.dataobject.UserPasswordDO;import?com.miaoshaproject.error.BusinessException;import?com.miaoshaproject.error.EmBusinessError;import?com.miaoshaproject.model.UserModel;import?com.miaoshaproject.service.UserService;@Servicepublic?class?UserServiceImpl?implements?UserService?{ @Autowired private?UserDOMapper?userDoMapper; @Autowired private?UserPasswordDOMapper?userPasswordDOMapper; @Override public?UserModel?getUserById(Integer?id)?{ //?調(diào)用userdomapper獲取到對應(yīng)的用戶dataobject UserDO?userDO?=?userDoMapper.selectByPrimaryKey(id); if?(userDO?==?null)?{ return?null; } //?通過用戶id獲取對應(yīng)的用戶加密密碼信息 UserPasswordDO?userPasswordDO?=?userPasswordDOMapper.selectByUserId(userDO.getId()); return?convertFromDataObject(userDO,?userPasswordDO); } private?UserModel?convertFromDataObject(UserDO?userDO,?UserPasswordDO?userPasswordDO)?{ if?(userDO?==?null)?{ return?null; } UserModel?userModel?=?new?UserModel(); BeanUtils.copyProperties(userDO,?userModel); if?(userPasswordDO?!=?null)?{ userModel.setEncrptPassword(userPasswordDO.getEncrptPassword()); } return?userModel; } @Override @Transactional public?void?register(UserModel?userModel)?throws?BusinessException?{ if?(userModel?==?null)?{ throw?new?BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR); } //?校驗(yàn)是否為空 if?(StringUtils.isEmpty(userModel.getName())?||?userModel.getGender()?==?null?||?userModel.getAge()?==?null ||?StringUtils.isEmpty(userModel.getTelphone()))?{ throw?new?BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR); } UserDO?userDO=converFromModel(userModel); userDoMapper.insertSelective(userDO); UserPasswordDO?userPasswordDO=convertPasswordFromModel(userModel); userPasswordDOMapper.insertSelective(userPasswordDO); } //?實(shí)現(xiàn)Model->dataobject方法 private?UserDO?converFromModel(UserModel?userModel)?{ if?(userModel?==?null)?{ return?null; } UserDO?userDO?=?new?UserDO(); BeanUtils.copyProperties(userModel,?userDO); return?userDO; } private?UserPasswordDO?convertPasswordFromModel(UserModel?userModel)?{ if?(userModel==null)?{ return?null; } UserPasswordDO?userPasswordDO=new?UserPasswordDO(); userPasswordDO.setEncrptPassword(userModel.getEncrptPassword()); userPasswordDO.setUserId(userModel.getId()); return?userPasswordDO; }}
2021-01-28
視頻作者,少寫了步驟,這塊需要你自己添加上。
執(zhí)行userDOmapper.insertSelective(userDO)之后,userDO這個對象的id就有了
你需要使用userDO的id,然后再設(shè)置給userpasswordDO.
userModel里面是沒有user id的值的。
2019-12-19
insert到sql字段id是會自己自增的,你基礎(chǔ)有點(diǎn)問題