D5 编写 一个update部门方法

测试代码


    @Test
    public void test05(){

        String deptId="3d00290a-1af0-4c28-853e-29fbf96a2722";
        Dept dept = iDeptService.findById(deptId);
        //1 模拟页面的修改
        dept.setDeptName("ym");

        dept.setCompanyName("吉首大学");
        dept.setCompanyId("1");

        Dept parent = new Dept();//下拉菜单
        parent.setDeptId("100");
        dept.setParent(parent);

        dept.setState(0);//停用

        //2 保存到数据库
        iDeptService.updateDept(dept);

    }

IDeptService

void updateDept(Dept dept);

DeptServiceImpl

@Override
    public void updateDept(Dept dept) {
        iDeptDao.update(dept);
    }

IDeptDao

void update(Dept dept);

IDeptDao.xml

关键在于sql代码,需要根据插入的parent_id是否为空或者空字符串来进行判断。为空或者空自符串时,parent_id赋空值。

 <update id="update" parameterType="dept">
        update  pe_dept set

        dept_name     =  #{deptName    }  ,
        <choose>
            <when test="parent.deptId  == null or parent.deptId == ''">
                parent_id   = NULL  ,
            </when>
            <otherwise>
                parent_id    = #{parent.deptId}  ,
            </otherwise>
        </choose>

        state         =  #{state       }  ,
        company_id    =  #{companyId   }  ,
        company_name  =  #{companyName }

        where dept_id= #{deptId}
    </update>

DeptController

//action="${path}/system/dept/update.do"
    @RequestMapping(path="/update",method ={ RequestMethod.GET, RequestMethod.POST})
    public String update(Dept dept,String parentId){

        Dept parent = new Dept();//下拉菜单
        parent.setDeptId(parentId);
        dept.setParent(parent);

        //2 保存到数据库
        iDeptService.updateDept(dept);

        return "redirect:/system/dept/toList.do";//修改完成之后跳到列表页面
    }

company-update.jsp

 <form id="editForm" action="${path}/system/dept/update.do" method="post">
                            <input type="hidden" name="deptId" value="${dept.deptId}">
                            <div class="tab-pane active" id="tab-form">
                                <div class="row data-type">
                                    <div class="col-md-2 title">部门名称</div>
                                    <div class="col-md-10 data">
                                        <input type="text" class="form-control" placeholder="部门名称" name="deptName" value="${dept.deptName}">
                                    </div>
                                    <div class="col-md-2 title">上级部门</div>
                                    <div class="col-md-10 data line-height36">
                                        <select class="form-control" name="parentId">
                                            <option value="">成为顶级部门</option>
                                            <c:forEach items="${list}" var="item">
                                                <c:if test="${item.deptId != dept.deptId}">
                                                <option ${dept.parent.deptId == item.deptId ?'selected':''}  value="${item.deptId}">${item.deptName}</option>
                                                </c:if>
                                            </c:forEach>
                                        </select>
                                    </div>
                                    <div class="col-md-2 title">状态</div>
                                    <div class="col-md-10 data">
                                        <div class="form-group form-inline">
                                            <div class="radio"><label><input type="radio" ${dept.state==0?'checked':''} name="state" value="0">停用</label></div>
                                            <div class="radio"><label><input type="radio" ${dept.state==1?'checked':''} name="state" value="1">启用</label></div>
                                        </div>
                                    </div>
                                    <div class="col-md-2 title"></div>
                                    <div class="col-md-10 data text-center">
                                        <button type="button" onclick='document.getElementById("editForm").submit()'  class="btn bg-maroon">保存</button>
                                        <button type="button" class="btn bg-default" onclick="history.back(-1);">返回</button>
                                    </div>
                                </div>
                            </div>
                        </form>
好的,我可以为您提供一个简单的按键模式的Verilog代码,该代码可以实现以下功能: - 按下按键时,在数码管上显示按键的编号 - 连续按下按键时,数码管上显示的数字会顺序递增 - 按下复位键时,数码管上的数字会重置为0 下面是代码: ```verilog module key_mode( input clk, input rst, input [3:0] key_in, output reg [3:0] seg_out ); reg [3:0] cnt; always @ (posedge clk) begin if (rst) begin cnt <= 0; seg_out <= 4'b1111; end else if (key_in != 4'b1111) begin cnt <= cnt + 1; case (cnt) 4'd1: seg_out <= 4'b0110; // Key 0 4'd2: seg_out <= 4'b0111; // Key 1 4'd3: seg_out <= 4'b0111; // Key 2 4'd4: seg_out <= 4'b0111; // Key 3 4'd5: seg_out <= 4'b1011; // Key 4 4'd6: seg_out <= 4'b1011; // Key 5 4'd7: seg_out <= 4'b1011; // Key 6 4'd8: seg_out <= 4'b1101; // Key 7 4'd9: seg_out <= 4'b1101; // Key 8 4'd10: seg_out <= 4'b1101; // Key 9 default: cnt <= 0; endcase end end endmodule ``` 在此代码中,我们定义了一个`key_mode`模块,该模块具有以下输入和输出: - `clk` —— 时钟信号,用于同步所有的逻辑操作。 - `rst` —— 复位信号,用于将计数器和数码管重置为初始状态。 - `key_in` —— 按键输入信号,用于检测按键的状态。 - `seg_out` —— 数码管输出信号,用于显示按键编号或计数器值。 在模块中,我们定义了一个`cnt`计数器,用于记录按键被按下的次数。当按键被按下时,我们通过一个`case`语句将数码管的输出设置为按键的编号,并将计数器递增。当计数器达到10时,我们将其重置为0。 请注意,此代码仅为示例,具体实现可能因硬件平台和按键布局而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值