springmvc+mybaties的添加用户

本次开发利用的spring mvc+mybaties+mysql,使用idea编辑器创建maven项目

开发步骤如下:

1.在mapper里面,即userbean.xml书写插入的mybaities语句


<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
        insert into users (username,name,password,sex,birthday,createtime,content) values(#{username},#{name},#{password},#{sex},#{birthday},#{createtime},#{content})
</insert>
 
该语句id要与Dao层里面的方法名一致,useGenerateKeys="true"是数据库里面设置了id主键自增,keyProperty自然是设置哪个属性为主键的。insert into users()第一个括号里面的字段要与实体里面的属性名一致,第二个括号里面的字段名要与前端的表单name值名字一致

2在Dao里面写sql语句调用的接口

public void insertUser(Users user);

3在service里面写调用Dao里面的方法

发现Dao里面没有实现类,原因如下

1)在spring.xml里面有

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.jointem.hrm.dao" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

等配置


步骤

1.在mybaties的sql语句注入配置文件中写入insert语句

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="Users" >
        insert into users (username,name,password,sex,birthday,createtime,content) values(#{username},#{name},#{password},#{sex},#{birthday},#{createtime},#{content})
</insert>
useGeneratedKeys="true"主键自增

注意:第一个圆括号里面的字段名与数据库里面的对应的表的字段一至,顺序一致。第二个括号里面的字段名与parameter里面的参数实体字段一致

2.前端Jquary+ajax请求传序列化值到后端,在后台新增加一个json类,通过后台的添加用户的方法向前端穿一个json值,后台的@ResponseBody直接代表该函数传递的是字符串,不加代表传递一个页面

<script type="text/javascript">
        function formsubmit(){
            var name = $("#username").val();
            var rel_name = $("#name").val();
            var password = $("#password").val();
            var birthday = $("#birthday").val();//获取值
            var sex=$('input:radio:checked');
            var content=$("#content").val();
            if (name == null || "" ==name) {
                alert("用户名不能为空");
                return false;
            }
            if (rel_name == null || "" ==rel_name) {
                alert("姓名不能为空");
                return;
            }
            if($("#msg").text() == "用户名不可用" ){
                return;
         }

            if (password == null || "" ==password) {
                alert("密码不能为空");
                return;
            }
            if (birthday == null || "" ==birthday) {
                alert("出生日期不能为空");
                return;
            }
            var data1 =$('#userForm').serialize();
            console.info(JSON.stringify($('#userForm').serialize()));
            $.ajax({
                type : 'POST',
                url : '${pageContext.request.contextPath}/users/addUser?'+data1+"&birthday="+birthday,
                contentType: "application/json; charset=utf-8",
                data :data1,
                dataType : 'json',
                error : function(data) {
                    alert("请求失败,网络异常")
                    console.log(data);
                },
                success : function(data) {
                    if(data.code =="000000") {
                        alert(data.msg);
                        $.ajax({
                            type : 'POST',
                            url : '${pageContext.request.contextPath}/users/toManage?'+data1,
                            contentType: "application/json; charset=utf-8",
                            data : null,
                            dataType : 'json',

                        });

                    }else{
                        alert(data.msg);
                    }
                }
            });


        }
   </script>
后端

@RequestMapping("/toAddUser")
public String toAddUser() {
    return "adduser";
}

@RequestMapping("/addUser")
public @ResponseBody
String add(Users user) {
    JsonResult jsonResult = new JsonResult();
    try {
        // p.setAttribute(user.getUsername(),user);
        user.setName(new String(user.getName().getBytes("iso-8859-1"),"utf-8"));
        user.setContent(new String(user.getContent().getBytes("iso-8859-1"),"utf-8"));
        userService.insertUser(user);
        jsonResult.setCode("000000");
        jsonResult.setMsg("添加成功");

    } catch (Exception e) {
        e.printStackTrace();
        jsonResult.setCode("000001");
        jsonResult.setMsg("添加不成功");
    }
    return JSON.toJSONString(jsonResult);
}
<form id="userForm" >
   <div class="MainDiv">
      <table width="99%" border="0" cellpadding="0" cellspacing="0" class="CContent">
         <tr>
            <th class="tablestyle_title" >人员信息录入</th>
         </tr>
         <tr>
            <td class="CPanel">

               <table width="90%" border="0" cellpadding="0" cellspacing="0" style="width:80%" align="center">
                  <tr>
                     <td align="left">
                     <%--<input type="submit"value="保存" class="button"/> --%>


                  </td>
                  </tr>

                  <TR>
                     <TD width="100%">
                        <fieldset style="height:100%;">
                           <legend>人员信息</legend>
                           <table width="100%" border="0" cellpadding="2" cellspacing="1" style="width:100%">
                              <tr>
                                 <td nowrap align="right" width="9%">用户名:</td>
                                 <td width="36%">
                                    <input name="username" type="text" class="input" id="username"/>
                                    <span class="red">*</span>&nbsp;<span id="msg"></span></td>
                                 <td nowrap align="right" width="9%">真实姓名:</td>
                                 <td width="36%">
                                    <input name="name" type="text" class="input" id="name"/>
                                    <span class="red">*</span>&nbsp;</td>

                              </tr>
                              <tr>
                                 <td width="12%"><div align="right">登陆密码:</div></td>
                                 <td width="43%">
                                    <input name="password" type="password" class="input" id="password" />
                                    <span class="red">*</span></td>

                                 <td><div align="right"><label for="birthday">出生日期:</label></div></td>
                                 <td>
                                    <input name="birthday" type="date" class="input" id="birthday"/>
                                    <span class="red">*</span></td>

                                 <%--<input  name="birthday" id="birthday" type="text"  />--%>
                                 </td>
                              </tr>
                              <tr>
                                 <td nowrap align="right" width="9%">性别:</td>
                                 <td>
                                    <input name="sex" type="radio" value="1" checked><input name="sex" type="radio" value="0"></td>
                              </tr>>
                              <tr>
                                 <%--<td nowrap align="right">是否管理员:</td>--%>
                                 <%--<td>--%>
                                    <%--<input type="checkbox">--%>
                                    <%--<input type="hidden"  name="isadmin" id="isadmin"></td>--%>
                                 <td>&nbsp;</td>
                                 <td>&nbsp;</td>
                              </tr>
                              <tr>
                                 <td nowrap align="right">人员简介:</td>
                                 <td colspan="3">
                                    <textarea name="content" cols="100" rows="6" class="input" id="content"></textarea></td>
                              </tr>
                           </table>
                           <br />
                        </fieldset>
                     </TD>

                  </TR>
               </TABLE>
            </td>
         </tr>
         <TR>
            <TD colspan="2" align="center" height="50px">
               <%--<button οnclick="submit()">保存</button>--%>
               <input name="提交" type="button" class="button" value="保存" οnclick="formsubmit()"> 
               <input name="重置" type="reset" class="button" value="重置"/></TD>
         </TR>
      </TABLE>
   </div>
</form>
注:提交的类型要为button,且触发时间的名字不能为submit,add等关键字
json类

public class JsonResult {
    private String code;
    private String msg;
    private Object data;

    public void setCode(String code) {
        this.code = code;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public String getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public Object getData() {
        return data;
    }
}
添加用户中有个日期转化的问题,inputl类型是date类型,后端的实体类里面要加下面的注释,pattern要根据前台穿过来的数据格式来定
@DateTimeFormat(pattern = "yyyy-MM-dd")//前段到后台注解
private Date birthday;
性别是一个多选按钮的名字要与实体里面的字段名字一致
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。 Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。 Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编和发布的。这意味着产品源代码是免费发布的,可供公共使用。主要讲解8个主题:1.     通过SNMP防火墙设备的监控2.     通过SNMP交换机设备的监控3.     对Windows的性能、服务、用户登陆监控4.     对Linux的性能、用户登陆情况进行监控5.     生产常用的服务进行监控,如nginx,httpd,mysql,ceph,bind等6.     Zabbix分布式的部署和监控7.     常见的zabbix三种报警方式8.     使用grafana对zabbix的数据进行展示

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值