我是靠谱客的博主 单薄白羊,最近开发中收集的这篇文章主要介绍sql下滑转驼峰,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

public class test1 {
    public static void main(String[] args) {
        String str = "a.id,n" +
                "a.id as order_material_id,n" +
                "k.payment_date as balance_payment_date";
        String[] strings = str.split(",");
        List<String> stringList = new ArrayList<>();
        for (String data : strings){

            if(data.indexOf("a.material_id") >=0){
//                System.out.println(data);
            }
            if(data.indexOf(" as ")>=0){
                String[] strings1 = data.split("as");
                String j = underlineToHump(strings1[1]);
                data = strings1[0] +" as " + j;

            }else {
                String j =   data.substring(data.indexOf(".")+1);
                j = underlineToHump(j);
                data = data +" as " + j;

            }
            stringList.add(data);
        }

        String sql  =stringList.stream().collect(Collectors.joining(","));
        System.out.println(sql);
    }




    private static Pattern UNDERLINE_PATTERN = Pattern.compile("_([a-z])");


    /**
     * 根据传入的带下划线的字符串转化为驼峰格式
     * @param str
     * @author mrf
     * @return
     */

    public static String underlineToHump(String str) {
        //正则匹配下划线及后一个字符,删除下划线并将匹配的字符转成大写
        Matcher matcher = UNDERLINE_PATTERN.matcher(str);
        StringBuffer sb = new StringBuffer(str);
        if (matcher.find()) {
            sb = new StringBuffer();
            //将当前匹配的子串替换成指定字符串,并且将替换后的子串及之前到上次匹配的子串之后的字符串添加到StringBuffer对象中
            //正则之前的字符和被替换的字符
            matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
            //把之后的字符串也添加到StringBuffer对象中
            matcher.appendTail(sb);
        } else {
            //去除除字母之外的前面带的下划线
            return sb.toString().replaceAll("_", "");
        }
        return underlineToHump(sb.toString());
    }

}

最后

以上就是单薄白羊为你收集整理的sql下滑转驼峰的全部内容,希望文章能够帮你解决sql下滑转驼峰所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(86)

评论列表共有 0 条评论

立即
投稿
返回
顶部