{
"siblings":[
{
"id":"a0a2097f21134e52bc207faea22fc2ce",
"name":"面色如醉状"
},
{
"id":"4a1fcc90ba85499b8302c87270491459",
"name":"口噤不开"
}
],
"content":"面色如醉状 口噤不开 ",
"name":"主诉",
"id":"3"
},
{
"name":"中医症候",
"id":"9",
"content":"1123331"
}
]
后台接收前台传的json串,
String jsonData=req.getParameter("pathological");
JSONArray jsonArray=JSONArray.fromObject(jsonData);
JSONObject jsonJ =new JSONObject();
JSONObject jsonJ2 =new JSONObject()
List<ConsiliaIndexDetail> alist=new ArrayList<ConsiliaIndexDetail>();
ConsiliaIndexDetail ooa=null;
for(int i=0;i<jsonArray.size(); i++){
ooa=new ConsiliaIndexDetail();
jsonJ = jsonArray.getJSONObject(i);
if(jsonJ.getString("siblings")!=null&&!"".equals(jsonJ.getString("siblings"))){
JSONArray jsonArray2=JSONArray.fromObject(jsonJ.getString("siblings"));
int jSize=jsonArray2.size();
System.out.println(jSize);
for (int j = 0; j < jsonArray2.size(); j++) {
ooa=new ConsiliaIndexDetail();
jsonJ2 = jsonArray2.getJSONObject(j);
String name=(String)jsonJ2.getString("name");
String indexid=(String)jsonJ2.getString("id");
System.out.println(name+indexid);
ooa.setIndexName((String)jsonJ2.getString("name"));
ooa.setIndexId((String)jsonJ2.getString("id"));
ooa.setIndexContent(null);
ooa.setVisitParentId("123");
alist.add(ooa);
}
}
String name=(String)jsonJ.getString("name");
String content=(String)jsonJ.getString("content");
String indexid=(String)jsonJ.getString("id");
System.out.println(name+content+indexid);
ooa.setConsiliaDetailId(UUIDUtil.create32UUID());
ooa.setIndexName((String)jsonJ.getString("name"));
ooa.setIndexContent((String)jsonJ.getString("content"));
ooa.setIndexId((String)jsonJ.getString("id"));
alist.add(ooa);
}
for (ConsiliaIndexDetail o : alist) {
System.out.println(o.toString());
}
一层解析:循环放到map中
String jsonData="[{'indexid':1,'指标名称':53,'指标内容':'广州'},{'indexid':2,'指标名称':18,'指标内容':'西安'}]";
JSONArray jsonArray=JSONArray.fromObject(jsonData);
Map<String,Map<String,String>> map=new HashMap<String,Map<String,String>>();
JSONObject jsonJ =null;
List<AAA> alist=null;
AAA a=null;
for(int i=0;i<jsonArray.size(); i++){
a=new AAA();
jsonJ = jsonArray.getJSONObject(i);
map.put("指标名称",(String)jsonJ.getString("指标名称") );
map.put("指标内容",(String)jsonJ.getString("指标内容") );
map.put("indexid",(String)jsonJ.getString("indexid") );
}
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println(entry.getKey()+"="+entry.getValue());
}
String normalJosnData=req.getParameter("json1");
JSONArray jsonArray1=JSONArray.fromObject(normalJosnData);
JSONObject jsonJ =null;
List<ConsiliaIndexDetail> alist=new ArrayList<ConsiliaIndexDetail>();
ConsiliaIndexDetail ooa=null;
for(int i=0;i<jsonArray1.size(); i++){
ooa=new ConsiliaIndexDetail();
jsonJ = jsonArray1.getJSONObject(i);
ooa.setConsiliaDetailId(UUIDUtil.create32UUID());
ooa.setIndexName((String)jsonJ.getString("name"));
ooa.setIndexContent((String)jsonJ.getString("content"));
ooa.setIndexId((String)jsonJ.getString("id"));
ooa.setVisitParentId("123");
ooa.setDictId(null);
ooa.setDictName(null);
ooa.setIndexLevel(null);
ooa.setIndexParentId(null);
alist.add(ooa);
}
使用mybatis在oracle中实现批量添加 注意oracle中没有主键自增,所以要设置useGeneratedKeys="false", 我当时生成的uuid,要想实现自增的话,还可以使用oracle创建序列
CREATE SEQUENCE emp_sequence --序列名
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值collection说的是传过去的类型:list array map等
item:别名
separator:是分隔符,执行多条insert语句
<insert id="add" parameterType="java.util.List" useGeneratedKeys="false">
begin
<foreach collection="list" item="item" index="index" separator=";">
insert into TCM_CONSILIAINDEX
( CONSILIA_DETAIL_ID,
INDEX_ID
)
values
(
#{item.consiliaDetailId,jdbcType=VARCHAR},
#{item.indexId,jdbcType=VARCHAR}
)
</foreach>
;end;
</insert>