转载

MYSQL JDBC 之ResultSetMetaData获取列名 别名 useOldAliasMetadataBehavior

jdbcurl如下

jdbc:mysql://localhost:3306/yzy_site

sql语句

select user_name as username,user_id as userid from user

java代码获取列名

ResultSet resultSet = sm.executeQuery(sql);
//根据字段所在列数获取该字段的所在的表名
String sheetName = resultSet.getMetaData().getTableName(1);
//获取sql查询字段的列数(个数)
int columnCount = resultSet.getMetaData().getColumnCount();

// 向行和列中写数据
for (int col = 0; col < columnCount; col++) {
 //获取列数获取该列的字段名
 String columnName = resultSet.getMetaData().getColumnName(col + 1);
}

while(resultSet.next()){
 for (int col = 0; col < columnCount; col++) {
 //获取列数获取该列的字段名
 String columnName = resultSet.getMetaData().getColumnName(col + 1);
 //根据字段名获取改行当前字段的数据
 Object name = resultSet.getObject(columnName);
 }
}

获取到的列名

user_name,user_id
经过测试,以上方法均无法获取别名。 经测试可用的修改方式 !!!!修改jdbcurl,如下
jdbc:mysql://localhost:3306/yzy_site?useOldAliasMetadataBehavior=true
结束!!!!!
正文到此结束
Loading...