• 数据库唯一性约束异常插入处理


    数据库

    CREATE TABLE `auth_role` (
        `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
        `rolename` VARCHAR(50) NULL DEFAULT NULL COMMENT '角色名称',
        `adduser` INT(11) NULL DEFAULT NULL COMMENT '添加人',
        `addtime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
        PRIMARY KEY (`id`),
        UNIQUE INDEX `rolename` (`rolename`)
    )COMMENT='统一平台角色'
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    ROW_FORMAT=COMPACT
    AUTO_INCREMENT=15;

    Controller

        @RequestMapping(value="/insertSelective",method={RequestMethod.GET,RequestMethod.POST})
        @ResponseBody
        public Object insertSelective(Auth_role record,HttpSession session){
            Userinfo sessionUserinfo = (Userinfo)session.getAttribute("CURR_USER");
            String sessionuserid = sessionUserinfo.getUserid().toString();
            record.setAdduser(Integer.parseInt(sessionuserid));
    Map map
    = new HashMap(); int result = 0; /*异常处理*/ try { result = service.insertSelective(record); }catch (org.springframework.dao.DuplicateKeyException e){ /*异常处理截获流程,如果是存在DuplicateKeyException则是重名,直接返回到前端,id主键为自增长,不会重复*/ map.put("code", "fail"); map.put("msg", "该角色名已存在!"); return map; } /*正常返回流程*/ if (result == 1) { map.put("code", "success"); map.put("msg", CN_MessageEnum.AddSuccess.getName()); }else { map.put("code", "fail"); map.put("msg", CN_MessageEnum.AddFailed.getName()); } return map; }
  • 相关阅读:
    23. 霍纳法则(多项式求值快速算法)
    22. 欧几里德算法(求最大公约数GCD)
    [poj 2106] Boolean Expressions 递归
    [poj 1185] 炮兵阵地 状压dp 位运算
    [MOOC程序设计与算法二] 递归二
    [poj 3254] Corn Fields 状压dp
    [hdu 1074] Doing Homework 状压dp
    [hdu 1568] Fibonacci数列前4位
    [haut] 1281: 邪能炸弹 dp
    [hdu 2604] Queuing 递推 矩阵快速幂
  • 原文地址:https://www.cnblogs.com/aeolian/p/12073764.html
Copyright © 2020-2023  润新知