1,查询某条数据是否存在,如果查询完的结果不需要再用到,可以在mapper中定义count方法,直接查询出数量,具体写法:
mapper层:
int getCountByEqAssetId(String eqAssetId);
xml文件:
<select id="getCountByEqAssetId" parameterType="java.lang.String" resultType="java.lang.Integer">
select count(*) from T_EQ_SPARE_REPLACE
where EQ_ASSET_ID = #{eqAssetId,jdbcType=VARCHAR}
</select>
这样在shervice中需要查询该条数据是否存在时候:
//设备备件更换数据库重复校验
int num = spareReplaceMapper.getCountByEqAssetId(assetDO.getId());
if(num >0) {
return ErrorCode.SpareReplaceRecodeExist;
}
2,update和delete,对返回值int进行判断
对于数据库的insert操作,如果失败会返回相应的错误信息,但是update和delete时,失败了也不会有相应的提示,所以我们最好对update和delete的返回值进行判断,如果返回的int值小于1,说明update和delete并没有正常执行;
举个栗子:
public ErrorCode updateByCertificateNo(CertificateManagerDO certificateManagerDO){
if(certificateManagerDOMapper.updateByCertificateNo(certificateManagerDO) == 0){
return ErrorCode.AssetUpdateFailure;
}
return ErrorCode.Success;
}
3,rollback的判定条件
网友评论