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注入。