您的位置:首页 > 数据库

获取数据库相关信息

2018-02-01 14:30 387 查看
为了搞明白orm框架的映射原理,自己尝试制作轮子,发现不了解的细节问题真的是太多太多了。下面是获取数据库相关信息的方法。

System.out.println("DatabaseProductName:" + connection.getMetaData().getDatabaseProductName());
System.out.println("DatabaseProductVersion:" + connection.getMetaData().getDatabaseProductVersion());
System.out.println("DriverName:" + connection.getMetaData().getDriverName());
System.out.println("DriverVersion:" + connection.getMetaData().getDriverVersion());
System.out.println("DatabaseMajorVersion:" + connection.getMetaData().getDatabaseMajorVersion());
System.out.println("MinorVersion:" + connection.getMetaData().getDatabaseMinorVersion());
System.out.println("connection catalog is: " + connection.getCatalog());
System.out.println("connection Schema is: " + connection.getSchema());
if("MySQL".equals(connection.getMetaData().getDatabaseProductName())) {
System.out.println("========================表信息===================================");
ResultSet tableResultSet = connection.getMetaData().getTables(null, null, "show_novel_user", new String[]{});
while(tableResultSet.next()) {
ResultSetMetaData resultSetMetaData = tableResultSet.getMetaData();
int count = resultSetMetaData.getColumnCount();
for (int i = 0; i < count; i++) {
System.out.println("ColumnName :" + resultSetMetaData.getColumnName(i+1) + ",ColumnTypeName:" + resultSetMetaData.getColumnTypeName(i+1) + ",value:" + tableResultSet.getObject(resultSetMetaData.getColumnName(i+1)));
}
}
System.out.println("=========================字段信息==================================");
ResultSet columnResultSet = connection.getMetaData().getColumns(null, null, "show_novel_user", "user_id");
while(columnResultSet.next()) {
ResultSetMetaData resultSetMetaData = columnResultSet.getMetaData();
int count = resultSetMetaData.getColumnCount();
for (int i = 0; i < count; i++) {
System.out.println("ColumnName :" + resultSetMetaData.getColumnName(i+1) + ",ColumnTypeName:" + resultSetMetaData.getColumnTypeName(i+1) + ",value:" + columnResultSet.getObject(resultSetMetaData.getColumnName(i+1)));
}
}
System.out.println("=========================主键信息==================================");
ResultSet primaryKeyResultSet = connection.getMetaData().getPrimaryKeys(null, null, "show_novel_user");
while(primaryKeyResultSet.next()) {
ResultSetMetaData resultSetMetaData = primaryKeyResultSet.getMetaData();
int count = resultSetMetaData.getColumnCount();
for (int i = 0; i < count; i++) {
System.out.println("ColumnName :" + resultSetMetaData.getColumnName(i+1) + ",ColumnTypeName:" + resultSetMetaData.getColumnTypeName(i+1) + ",value:" + primaryKeyResultSet.getObject(resultSetMetaData.getColumnName(i+1)));
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: