SELECT
COLUMN_COMMENT 中文名,
UPPER(COLUMN_NAME) 字段名,
UPPER(DATA_TYPE) 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空
FROM
INFORMATION_SCHEMA.COLUMNS
where
table_schema ='shwmm'
AND
table_name = 'gis_interface_veh_his_gps_data'
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedHashMap;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import com.mysql.jdbc.Connection;
/**
* 工具类
* MySQL中以“_”分割的列名格式化为驼峰命名的列名
*/
public class FormatDbColumns {
static final String DB_URL = "jdbc:mysql://localhost:3306/shwmm";
// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称
static final String USER = "root";
static final String PASS = "root";
public static void main(String[] args) throws SQLException,Exception{
Connection conn = null;
Statement stat = null;
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建链接
conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);
String str = "am_alarm_detail";
// 执行查询
stat = conn.createStatement();
String sql = "select LOWER(COLUMN_NAME) as columnName from information_schema.COLUMNS where table_name = '"+str+"'";
ResultSet rs = stat.executeQuery(sql);
// 输出查询结果
int i = 0;
Map<String,String> map = new LinkedHashMap<>();
while(rs.next()){
i++;
String a = rs.getString("columnName");
String b= camelCaseName(a);
map.put(b,"xxx");
System.out.println(b);
}
System.out.println(JSONObject.toJSONString(map));
System.out.println(i);
// 关闭
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stat != null) {
stat.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public static String camelCaseName(String underscoreName) {
StringBuilder result = new StringBuilder();
if (underscoreName != null && underscoreName.length() > 0) {
boolean flag = false;
for (int i = 0; i < underscoreName.length(); i++) {
char ch = underscoreName.charAt(i);
if ("_".charAt(0) == ch) {
flag = true;
} else {
if (flag) {
result.append(Character.toUpperCase(ch));
flag = false;
} else {
result.append(ch);
}
}
}
}
return result.toString();
}
}