springboot中的参数传递
1、前端传递到后端
1-1、js
function add(){ var obj = {}; obj.parame_empname = $("#EMPNAME").val(); if (obj.parame_empname == "") { alert("姓名不能为空"); return; } $.ajax({ type: "post", //定义ajax请求类型 url: /add, data: JSON.stringify(obj), contentType: "application/json;charset=utf-8", //请求头 dataType: "text", //返回数据类型 success: function(result) { alert(result); } }) }
1-2、controller
@RequestMapping(value = "/add") @ResponseBody public String addCommit(@RequestBody JSONObject req) { String info = "Success:提交成功"; String empname = req.getString("parame_empname"); service.add(empname);// 插入数据库 return info; }
2、后端传递到mapper(sql)
2-1、controller
service.add(empname);// 插入数据库
2-2、service
public void addcommit( String username) { dao.addcommit(username); }
2-3、dao
public void addcommit(@Param("username") String username);
2-4、mapper
<insert id="add" parameterType="map"> INSERT INTO TABLE (USERNAME) VALUES (#{username}) </insert>
------------------------分割线--------------------------
还有一种动态sql方式
即把#{}改成${}
这样传到sql的参数即使是字符串也不会带引号。
这样可以实现动态拼接sql。
但这样做有一个弊端:可能会被恶意利用,进行sql注入。