处理客户需求 及碰到的错误 BUG(自用)

第一次整理需求、修改、添加功能整了一个多星期,接近两个星期。

客户需求:
在这里插入图片描述
1、在前端显示页面增加编辑功能选项。

2、编辑功能选项用来修改最后到期时间。

3、修改完成后会有提交功能,将新的数据保存到数据库中。

4、如果可以在是否提醒选项中,选项为是便隐藏下方的修改到期时间栏,选项为否,将修改栏展出。

写前端和后端都出现了多方面的问题,主要原因在于基础不牢靠,技术力不够,照搬地方多,原理不懂没细看,倒是很多地方出错。

首先自己写的Update层注意set/get, 以及Upadate方法的编写

public class GpsFirstOnUpdate extends BaseDoAction {

    private Integer id;

    private Timestamp expireTime;

    private Integer isRemindSn;

    @Override
    public String doAction() {
        if (!checkBefore()) {
            return SUCCESS;
        }

        IGpsFirstOnDetails gpsFirstOnDetails = GpsFirstOnOverClass.getFactory().createQuery().single(id);
        gpsFirstOnDetails.setExpireTime(expireTime);
        gpsFirstOnDetails.setIsRemindSn(isRemindSn);
        try {
            gpsFirstOnDetails.update();
            setNormal(1);
            setMsg("修改成功");
        } catch (Exception e) {
            e.printStackTrace();//打印日志..
            setNormal(0);
            setMsg("修改失败");
        }
        return SUCCESS;
    }

    private boolean checkBefore() {
        System.out.println();
        if (id == null) {
            setNormal(0);
            setMsg("id不得为空");
            return false;
        }
        if (expireTime == null) {
            setNormal(0);
            setMsg("即将到期时间不得为空");
            return false;
        }
        return true;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Timestamp getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Timestamp expireTime) {
        this.expireTime = expireTime;
    }

    public Integer getIsRemindSn() {
        return isRemindSn;
    }

    public void setIsRemindSn(Integer isRemindSn) {
        this.isRemindSn = isRemindSn;
    }

}

首先自己定义了变量,对应数据库的表里的字段,同时也是编辑功能所需要的字段。
(不要添加多余的变量 用不到就不添加 以防出错 比如方法参数选用了错误的变量)

在前端页面 对标签做详细了解,jQuery json的方法也不怎么熟悉,导致页面编写困难,js逻辑页面也多半是复制粘贴,但是后面查了对应方法的功能,建议以后写代码配合注释。

映射页面:

<class name="com.air.model.GpsFirstOn" table="gps_first_on">
        <id name="id" type="int">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="sn" type="java.lang.String">
            <column name="sn" length="11" not-null="true">
                <comment>sn号</comment>
            </column>
        </property>
        <property name="pid" type="java.lang.Integer">
            <column name="pid" not-null="true">
                <comment>公众号id</comment>
            </column>
        </property>
        <property name="ownerId" type="java.lang.Integer">
            <column name="owner_id" not-null="true">
                <comment>小区管理员id</comment>
            </column>
        </property>
        <property name="agentId" type="java.lang.Integer">
            <column name="agent_id" not-null="true">
                <comment>代理商id</comment>
            </column>
        </property>
        <property name="firstOnTime" type="java.sql.Timestamp">
            <column name="first_on_time" length="19" not-null="true">
                <comment>dtu第一次心跳时间,redis里第一次有心跳数据为准</comment>
            </column>
        </property>
        <property name="expireTime" type="java.sql.Timestamp">
            <column name="expire_time" length="19" not-null="true"/>
        </property>

        <property name="remindStatus" type="java.lang.Integer">
            <column name="remind_status" length="11" >

            </column>
        </property>
        <property name="isRemindSn" type="java.lang.Integer">
            <column name="is_remind_sn" not-null="true">
                <comment>是否设置sn提醒</comment>
            </column>
        </property>
    </class>

这里是通过配置页面,将数据库中的字段与Java中的同名变量进行映射,注意映射路径和名字不要弄混淆。

在添加修改功能时,碰到的BUG、异常以及解决方法。
500:空指针异常:因为自己只写了update类,其他接口的retrun方法为空,导致经常无法获得返回值,以后碰到此类问题,现将相关的所有接口类全部看一遍,以防漏写。
前端页面的跳转失败,以及不显示问题:
在这里插入图片描述
红箭头标识的地方为指向类,跳转的方向一度写错导致显示为空。

jQuery SQL JSP 等多个方面需要加强学习 另外 写一篇个人仅见的文章 用于记录 公司常用问题解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值