mysql蛇形转驼峰_自动将MySQL数据库所有驼峰字段名转下划线形式

本文介绍了一种方法,通过Java代码实现将MySQL数据库中驼峰命名的字段一键转换为下划线形式,以符合行业规范。提供了具体的代码示例,适用于批量修改SQL文件中的字段命名,例如将userId转换为user_id。
摘要由CSDN通过智能技术生成

在JFinal4.9中,已官方支持了将下划线形式的字段名转驼峰形式,而业内在对mysql数据库的字段命名上,一般也是用下划线形式。我此前的大部分jfinal项目里的数据库字段名都是驼峰形式的,为了更符合规范,想将字段名都变成下划线形式的。但是一一去改确实太麻烦,所以写了段代码,可以一键将通过工具(如:Navicat)自动导出的sql文件里的字段名从驼峰形式转下划线形式,如userId可转成user_id等。现将代码分享给大家,如有需要可借鉴:public static void main(String[] args) {

try {

BufferedReader br = new BufferedReader(new FileReader(PathKit.getWebRootPath() + "\\src\\main\\resources\\yoursql.sql"));

String sqlStr = br.lines().collect(Collectors.joining("\n"));

Matcher matcher = Pattern.compile("`([\\w]*)`").matcher(sqlStr);

StringBuilder sb = new StringBuilder();

while (matcher.find()) {

matcher.appendReplacement(sb, doConvert(matcher.group(0)));

}

matcher.appendTail(sb);

System.out.println(sb.toString());

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

private static String doConvert(String keyword) {

if (keyword.matches("[\\S]*[A-Z][\\S]*")) {

for (int i = 0; i 

char key = keyword.charAt(i);

if (Character.isUpperCase(key)) {

String keyStr = key + "";

keyword = keyword.replace(keyStr, "_" + keyStr.toLowerCase());

}

}

}

return keyword;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值