mysql驼峰转换下划线_MySQL导出表结构相关字段以及把字段由下划线转驼峰命名...

该博客提供了一个Java工具类,用于将MySQL数据库中以下划线分隔的列名转换为驼峰命名。通过连接数据库,查询information_schema.COLUMNS表,获取指定表的列名,并使用camelCaseName方法将列名转换。最终,将转换后的列名和自定义值存储在LinkedHashMap中并打印输出。
摘要由CSDN通过智能技术生成

importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.LinkedHashMap;importjava.util.Map;importcom.alibaba.fastjson.JSONObject;importcom.mysql.jdbc.Connection;/*** 工具类

* MySQL中以“_”分割的列名格式化为驼峰命名的列名*/

public classFormatDbColumns {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) throwsSQLException,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 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 staticString camelCaseName(String underscoreName) {

StringBuilder result= newStringBuilder();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);

}

}

}

}returnresult.toString();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值