for (Iterator it = paramMap.keySet().iterator();it.hasNext();circleNum++)
{
Object key = it.next();
sql_col.append(","+key);
sql_value.append(",?");
ParamInfo[circleNum]=paramMap.get(key);
}
这里是有问题的,因为HashMap里面的数据是没有顺序的,所以你每次循环拼出的sql都不一样
{
Object key = it.next();
sql_col.append(","+key);
sql_value.append(",?");
ParamInfo[circleNum]=paramMap.get(key);
}
这里是有问题的,因为HashMap里面的数据是没有顺序的,所以你每次循环拼出的sql都不一样
解决方案 »
- Java ssl连接异常,SSL peer shut down incorrectly
- 一个小问题 ,拜托大家帮帮忙了~~
- 小第刚学java有点小问题请指教!if-else结构问题
- 用java连接oracle数据库抛出异常,那位大虾能给俺讲一下 呢 ? 在线等,急!!!!
- 求 :jbuider X 使用手册
- 〔java〕请问怎么固定窗体的大小?
- ant问题
- myeclipse如何配置tomcat服务器
- 我给JButton加了一个KeyListener,为什么必须单击一次button后,listener才起作用?
- 在eclipse里面怎么通过hibernate.reveng.xml生成POJO
- 容器使用泛型后,为什么还要强制转换
- Java程序如何透过ODBC存取数据库?
//指定基础信息
Object[] baseInfo=new Object[]{"张三","28","天津"};
StringBuffer sql_col=new StringBuffer("INSERT INTO table1(name,age,add");
StringBuffer sql_value=new StringBuffer(" values(?,?,?");
//paramMap为动态的信息,通过paramMap动态对应至表栏位,拼成全SQL
Map paramMap=new LinkedHashMap();
paramMap.put("Col_1", "Col1_Value");
paramMap.put("Col_2", "Col2_Value");
paramMap.put("Col_3", "Col3_Value");
paramMap.put("Col_4", "Col4_Value");
paramMap.put("Col_5", "Col5_Value");
Object[] ParamInfo=new Object[paramMap.size()];
int circleNum=0;
for (Iterator it = paramMap.keySet().iterator();it.hasNext();circleNum++)
{
Object key = it.next();
sql_col.append(","+key);
sql_value.append(",?");
ParamInfo[circleNum]=paramMap.get(key);
}
sql_col.append(")");
sql_value.append(")");
//将变基础信息和动态信息数组整合成一个完成的变量数据数组
Object[] result=new Object[baseInfo.length+ParamInfo.length];
System.arraycopy(baseInfo,0,result,0,baseInfo.length);
System.arraycopy(ParamInfo,0,result,baseInfo.length,ParamInfo.length);
//拼成一个完整个SQL
String sql=sql_col.toString()+sql_value.toString();
System.out.println("sql:"+sql);
for (int i=0;i<ParamInfo.length;i++)
{
System.out.println("ParamInfo["+i+"]:"+ParamInfo[i]);
}
//执行Insert
return getJdbcTemplate().update(sql, result);