java取得Mysql主鍵,在Mysql獲取表中所有的主鍵

Json數據在同步的時候需要取得對應數據中的主鍵,但是mysql沒有找到獲得主鍵名的方法,所以自己寫了一個獲取主鍵的方法,並且能正確使用,代碼如下

         /**
	 * 根據數據庫連接和表明獲取主鍵名
	 * @param con 傳進來一個數據庫連接對象
	 * @param table 數據庫中的表名
	 * @return  執行成功返回一個主鍵名的字符數組,否則返回null或拋出一個異常
	 * @exception 拋出sql執行異常
	 * @author yuyu
	 */
	public static String[] getPrimaryKey(Connection con,String table)throws Exception{
		
		String sql="SHOW CREATE TABLE "+table;
		
		try {
	
			PreparedStatement pre=con.prepareStatement(sql);
			ResultSet rs=pre.executeQuery();
			if(rs.next()){

				//正則匹配數據
				Pattern pattern = Pattern.compile("PRIMARY KEY \\(\\`(.*)\\`\\)");
				Matcher matcher =pattern.matcher(rs.getString(2));
				matcher.find();
				String data=matcher.group();
				//過濾對於字符
				data=data.replaceAll("\\`|PRIMARY KEY \\(|\\)", "");
				//拆分字符
				String [] stringArr= data.split(",");
				
				return stringArr;
			}
			
		}catch(Exception e){
			throw e;
		}
		return null;
	}


發佈了35 篇原創文章 · 獲贊 44 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章