隨筆-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
          主站蜘蛛池模板: 吉首市| 河北区| 鱼台县| 晋宁县| 额尔古纳市| 宾川县| 东乌珠穆沁旗| 常熟市| 霍林郭勒市| 安顺市| 富顺县| 舟曲县| 清河县| 尖扎县| 普定县| 九龙坡区| 庐江县| 门源| 海口市| 满洲里市| 梁平县| 新源县| 清新县| 禄劝| 濮阳县| 青海省| 弋阳县| 九龙城区| 商洛市| 杭锦后旗| 上栗县| 平乐县| 阿拉尔市| 同心县| 泽普县| 两当县| 通辽市| 通渭县| 红原县| 韶山市| 虹口区|