jquery、js傳入JSON字符串到java后台解析並進行批量插入處理


項目開發中總是會用到json以及java對json字符串的處理,和Mybatis的數據批量插入操作

本文潛解下,如有不足請多多指教

步驟一:獲取前台頁面數據並封裝成JSON字符串

步驟二:Ajax傳入后台

步驟三:Java后台解析JSON字符串

步驟四:Mybatis批量插入

 

 

步驟一、

獲取前台頁面數據 封裝成JSON字符串

	/**
	* 獲取專家用葯信息
	*/
	function getzjypValue(){
		var len = $("#tbody").children("tr").length;
		var map = new Map();
		for(var i = 0; i < len; i++){
			var tr = $("#tbody").children("tr:eq("+i+")");
			var ypmc = tr.children("td:eq(0)").text();
			var ypxxid = tr.children("td:eq(4)").children("input").val();
			var lysl = tr.children("td:eq(4)").children("input:last").val();
			var temp = new Map();
			temp["ypmc"] = ypmc;
			temp["ypxxid"] = ypxxid;
			temp["lysl"] = lysl;
			map[i]=temp
		}
		return JSON.stringify(map);
	}

步驟二、

ajax傳入后台

	function savezj(){
		var values = zjypsySave();
		var xzid = $("#xz_id").val();
		var para = {"formValue":values,xzid:xzid}
		$.ajax({
			url:'<%=path%>/background/bjjl/zjypzc.do',
			type:'post',
			data:para,
			traditional:true,
			success:function(data){
				console.log(data);
			},
			error:function(e){
				console.log("出錯了"+e);	
			}
		})
	}

步驟三、

后台開始JSON字符串

	/**
	 * 專家葯品使用
	 * @param formValue 
	 * @param xzid 巡診ID
	 * @return
	 */
	public Integer zjypzcc(String formValue,String xzid,String zjid){
		if(StringUtils.isEmpty(formValue) || StringUtils.isEmpty(xzid)){
			return null;
		}
		//封裝成集合 進行批量插入
		List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
		JSONObject jsonObject = JSONObject.fromObject(formValue);
		for (int i = 0; i < jsonObject.size(); i++) {
			JSONObject object = jsonObject.getJSONObject(""+i+"");
			String id = UUID.randomUUID().toString().replace("-","");
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("zjypsyid", id);
			map.put("xzid", xzid);
			map.put("ypxxid",object.getString("ypxxid"));
			map.put("ypmc",object.getString("ypmc"));
			map.put("ypsysl",object.getString("lysl"));
			result.add(map);
		}
		Integer integer = 0;
		try {
			integer = yplyglService.insertYP_LYSL_BylzjId(result);//開始批量插入
			upZJYPXXLYSL(result);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return integer;
	}

步驟四、

Mybatis批量插入SQL

	<insert id="insertYP_LYSL_BylzjId" parameterType="java.util.List">
		insert into d_bjzjk_zjypsy values
		<foreach collection="list" separator="," item="res">
			(#{res.zjypsyid},#{res.xzid},#{res.ypxxid},#{res.ypmc},#{res.ypsysl})
		</foreach>
	</insert>

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM