= JDBC =
== Table metadata sample Servlet ==
Tomcat 7 conf/context.xml datasource example
{{{#!highlight xml
"+ rs.getString("name") +"
"); } rs.close(); conn.close(); }catch(Exception ex){ System.out.println(ex.getMessage()); } getTableInfo("",out); out.println(""); } private String getDataType(int dt,int nullable){ if(dt==93 ) return "Date"; if(dt==12 ) return "String"; if(dt==-7 && nullable==0) return "boolean"; if(dt==-1) return "String"; if(dt==4 && nullable==0) return "int"; if(dt==1 && nullable==0) return "int"; if(dt==-6 && nullable==0) return "int"; if(dt==-7 && nullable==1) return "Boolean"; if(dt==4 && nullable==1) return "Integer"; if(dt==1 && nullable==1) return "Integer"; if(dt==-6 && nullable==1) return "Integer"; return ""; } private void showColumns(DatabaseMetaData dmd,String table,PrintWriter out) throws SQLException { ResultSet rs = dmd.getColumns(null,null,table,null); while(rs.next()){ String column = rs.getString("COLUMN_NAME"); int dataType = rs.getInt("DATA_TYPE"); int nullable = rs.getInt("NULLABLE"); out.println("private "+ getDataType(dataType,nullable) + " " + column + "; // " +nullable +"
"); } out.println("}
"); } private void getTableInfo(String tableName,PrintWriter out){ try{ Connection conn = ds.getConnection(); DatabaseMetaData metaData = conn.getMetaData(); String[]types={"TABLE"}; ResultSet rs = metaData.getTables(null,null,null,types); while(rs.next()){ String table = rs.getString("TABLE_NAME"); out.println("public class "+ table +" {
"); showColumns(metaData,table,out); } rs.close(); conn.close(); }catch(Exception ex){ System.out.println(ex.getMessage()); } } } }}}