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

posted @ 2019-06-06 16:53  JICG  阅读(2120)  评论(0编辑  收藏  举报