隨筆-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 三告習習 閱讀(1710) 評論(0)  編輯  收藏 所屬分類: database
          主站蜘蛛池模板: 昌邑市| 天镇县| 安义县| 肥西县| 福建省| 台东市| 庆云县| 宣化县| 福鼎市| 河池市| 巴林左旗| 宜兰县| 阜南县| 靖安县| 化德县| 江西省| 隆安县| 惠州市| 枝江市| 井研县| 麻栗坡县| 盐津县| 凤凰县| 达孜县| 嵩明县| 德州市| 商都县| 博乐市| 华容县| 华安县| 丽水市| 威远县| 鹤山市| 黄浦区| 西畴县| 通州市| 祁东县| 永德县| 和静县| 新巴尔虎右旗| 横峰县|