隨筆-35  評論-97  文章-0  trackbacks-0

          寫了一個從數據庫表映射到實體的工具配合easyDBO使用,需要知道指定表的主鍵,這個方法可以得到主鍵字段名:(數據庫MySQL5)

          (只適用于單主鍵,不適用聯合主鍵)

              public static String getDBTableKeyField(String tableName)
              
          {
                  
          try
                  
          {
                      
          //用“show  INDEX from tableName” 語句也能得到一系列的鍵
                      Connection conn = EasyJDBEngine.getInstance().getConnection();//這里用你自己的數據庫連接
                      DatabaseMetaData meta = conn.getMetaData();
                      ResultSet rs 
          = meta.getIndexInfo(nullnull, tableName, falsefalse);
                      
          while(rs.next())
                      
          {
                          
          //如果是非主鍵,rs.getString("COLUMN_NAME")與rs.getString("INDEX_NAME")相同
                          if(rs.getString("INDEX_NAME").equalsIgnoreCase("PRIMARY"&& !rs.getString("COLUMN_NAME").equalsIgnoreCase(rs.getString("INDEX_NAME"))){
                              
          return rs.getString("COLUMN_NAME");
                          }

                      }

                      rs.close();
                      conn.close();
                  }

                  
          catch(SQLException e)
                  
          {
                      e.printStackTrace();
                  }

                  
          return null;
              }
          posted on 2007-06-25 17:52 三告習習 閱讀(1703) 評論(0)  編輯  收藏 所屬分類: database
          主站蜘蛛池模板: 浮梁县| 澎湖县| 平遥县| 罗田县| 桓仁| 三穗县| 长丰县| 武山县| 临海市| 滁州市| 余江县| 闸北区| 太保市| 梓潼县| 利津县| 东山县| 循化| 汉阴县| 南江县| 安远县| 盐亭县| 大同市| 焦作市| 秦安县| 文登市| 邢台县| 塔河县| 秭归县| 普兰店市| 泾阳县| 五峰| 常熟市| 云霄县| 金坛市| 苗栗市| 温州市| 肇庆市| 保靖县| 望谟县| 平江县| 阜新市|