springmvc+mybaties的添加用户

来源:互联网 发布:mac 相册导入u盘 编辑:程序博客网 时间:2024/06/05 18:59

本次开发利用的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 @ResponseBodyString 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 onclick="submit()">保存</button>--%>               <input name="提交" type="button" class="button" value="保存" onclick="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;
性别是一个多选按钮的名字要与实体里面的字段名字一致

原创粉丝点击