您的位置:首页 > 编程语言 > Java开发

java取得Mysql主键,在Mysql获取表中所有的主键

2017-04-20 09:56 295 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql Java 获取主键