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