publicvoidfind(){String x="DB_SEG_STAT";List<TableColumnAndType> list = oracleMetricModelService.selectColumnsByTableName(x);String a="";String s="";int i=0;for(TableColumnAndType t : list){
i++;
a=a+t.getColumnName()+",";//System.out.println("preparedStatement.setLong("+i+",Long.valueOf(String.valueOf(map.get("+"\""+t+"\"))));");if(t.getDataType().equals("NUMBER"))System.out.println("Long "+t.getColumnName()+"=Long.valueOf(String.valueOf(datum.get("+"\""+t.getColumnName()+"\")));");if(t.getDataType().equals("VARCHAR2"))System.out.println("String "+t.getColumnName()+"=String.valueOf(datum.get("+"\""+t.getColumnName()+"\"));");if(t.getDataType().equals("DATE"))System.out.println("Long "+t.getColumnName()+"=TimeFormat.parse_date(String.valueOf(datum.get("+"\""+t.getColumnName()+"\")),false);");System.out.println("map.put("+'\"'+t.getColumnName()+'\"'+","+t.getColumnName()+");");}System.out.println(s);System.out.println(a);}
使用原生的jdbc插入数据
publicvoidinsertJdbcUtils(){//定义表名String x="DB_SEG_STAT";////获取表的字段List<TableColumnAndType> list = oracleMetricModelService.selectColumnsByTableName(x);String a="";String s="";int i=0;for(TableColumnAndType t : list){
i++;//a=a+t+" as "+t.toLowerCase()+",";
s=s+"?,";
a=a+","+t.getColumnName();if(t.getDataType().equals("NUMBER"))System.out.println("preparedStatement.setLong("+i+",Long.valueOf(String.valueOf(map.get("+"\""+t.getColumnName()+"\"))));");if(t.getDataType().equals("VARCHAR2"))System.out.println("preparedStatement.setString("+i+",String.valueOf(map.get("+"\""+t.getColumnName()+"\")));");if(t.getDataType().equals("DATE"))System.out.println("preparedStatement.setDate("+i+",new Date(Long.valueOf(String.valueOf(map.get("+"\""+t.getColumnName()+"\")))));");}System.out.println(s);System.out.println(a);}
查出字段名字和类型的方法
<select id="selectColumnsByTableName" parameterType="java.lang.String" resultType="com.leilankeji.healthmodel.pojo.TableColumnAndType">
select A.COLUMN_NAME as columnName,A.DATA_TYPE as dataType from user_tab_columns A where TABLE_NAME= #{tableName}</select>