賬號列表修改爲已存在的賬號時報錯,加個判斷,在前端提示

@desc API 統一返回狀態碼 /* 用戶錯誤:20001-29999*/ USER_HAS_EXISTED(20005, “用戶已存在”),
沒有合適的MySQL JDBC驅動 No suitable driver found for localhost
Mybatis不鼓勵捕捉異常,但在某些特定場景下需要捕捉,這個時候通過try catch是捕捉不到的,mybatis有自己的處理方式,它把異常映射成了DataAccessException,那麼我們需要拋出異常並捕捉。
賬號列表修改爲已存在的賬號時報錯,初步解決方案try {
managerUserService.updateByPrimaryKeySelective(managerUser);
} catch (Exception e) {
throw new BusinessException(ResultCode.DATA_IS_WRONG);
}

加個判斷,在前端提示,沒有合適的MySQL JDBC驅動 尚未解決
Class.forName(“com.mysql.cj.jdbc.Driver”); //加載數據庫驅動
String DB_URL = “localhost:3306/background?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true”;
String USER = “root”; //數據庫賬號
String PASS = “mxy”; //數據庫密碼
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); //建立連接
Statement stmt = conn.createStatement();
String sql = “SELECT user_name FROM citizen-app.manager_user where user_name = '”+updateManagerUser.userName+"’";
ResultSet rs = stmt.executeQuery(sql); //執行語句
if (updateManagerUser.userName.equals(sql)) {
throw new BusinessException(ResultCode.USER_HAS_EXISTED); //拋出異常
}

try {
managerUserService.updateByPrimaryKeySelective(managerUser);
} catch (Exception e) {
if (managerUserService.getUserName(updateManagerUser.userName).getList().get(0).getUserName().equals(updateManagerUser.userName)) {
try {
managerUserService.updateByPrimaryKeySelective(managerUser);
} catch (Exception a) {
throw new BusinessException(ResultCode.USER_HAS_EXISTED);//賬號已存在
}
} else {
throw new BusinessException(ResultCode.DATA_IS_WRONG);
}
} finally {
}
}

if (!managerUserService.getUserName(updateManagerUser.userName).equals("[]")) { //判斷賬號已存在
throw new BusinessException(ResultCode.USER_HAS_EXISTED);//賬號已存在
}
managerUserService.updateByPrimaryKeySelective(managerUser); //不重複的時候

List getUserName(String userName);

@Override
public List getUserName(String userName) {
    List list = managerUserMapper.getUserName(userName);
    return list;
}


List<ManagerUser> getUserName(@Param("userName") String userName);
  <select id="getUserName" resultMap="ManagerUserListResultMap">
        select

        mu.user_name

        from manager_user mu

        <where>
            <if test="userName!=null">
                mu.user_name = '${userName}'
            </if>
        </where>
    </select>
</mapper>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章