一.业务场景:

添加:添加的数据不能在数据库中存在,存在则不能添加;

         不存在方可添加

修改:修改提交的数据是当前的数据,则可以成功修改

          修改的数据需要排除它本身,在其他数据中也不存在,才可以修改

如:表中有id为001的记录,前端新增数据时,id不可重复为001,表中有name为小王的记录,前端新增数据时,name不可重复为小王。

二.示例代码:

Java代码参考一:

/*controller类  添加接口  修改同理*/
 @CheckType(OperationType.ADD)
    public void addEnavmark() {
        String jindu = getPara("jindu");
        String weidu = getPara("weidu");
        String[] enavmarkType = getParaValues("enavmarkType[]");
        Integer atonId = getParaToInt("atonId");
        String atonName = getPara("atonName");
        Integer depId = getParaToInt("depId");
        String depName = getPara("depName");
        String company = getPara("company");
        Record record = Db.use(Constant.ENAVMSI).findFirst("select aton_id from enavmark_station where aton_id = ?", atonId);
        Record rec = Db.use(Constant.ENAVMSI).findFirst("select station_name from enavmark_station where station_name = ?", atonName);
        AssertUtil.isTrue(record != null, "站点编号已存在");
        AssertUtil.isTrue(rec != null, "站点名称已存在");
        try {
            String enType = JsonKit.toJson(enavmarkType).replace("[", "").replace("]", "").replaceAll("\"", "");
            String geom = "POINT(" + jindu + " " + weidu + ")";
            List<Object> param = new ArrayList<>();
            param.add(atonId);
            param.add(atonName);
            param.add(depName);
            param.add(geom);
            param.add(enType);
            param.add(depId);
            param.add(company);
            EnavmarkStation.dao.addEnavmarkStation(param.toArray());
            renderJson("{\"msg\":\"成功\",\"code\":200}");
        } catch (Exception e) {
            renderJson("{\"msg\":\"失败\",\"code\":500}");
            e.printStackTrace();
        }

    }

sql代码参考二:

sql的校验代码如下:

<select id="findRoleByName" resultType="com.frame.entity.Role" parameterType="java.lang.String">
        select
        <include refid="Base_Column_List" />
        from sys_Role where 1=1

        <if test="role != null and  role != ''">
            and role = #{role}  //主键不能重复
        </if>
        <if test="id != null and  id != ''">
            and id != #{id}    //id是排除本身的
        </if>
</select>

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐