知识大全 getter setter命名规则重定义

Posted 规则

篇首语:宁给穷人一斗,不给富人一口。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 getter setter命名规则重定义相关的知识,希望对你有一定的参考价值。

    奋斗到了凌晨两点半终于把最近项目需要的一个需求搞定了 因为客户端与数据库之间的一个数据服务框架命名规则不符合java的命名规则 所以这里需要做一个转换 大概功能实现了 算法方面还有待优化        package readandwrite;        import java io BufferedReader;        import java io BufferedWriter;        import java io File;        import java io FileInputStream;        import java io FileWriter;        import java io IOException;        import java io InputStreamReader;        import java util ArrayList;        import java util regex Pattern;        public class ReadAndWrite         private static BufferedReader br;        private static BufferedWriter bw;        /**        * @param args        * @throws IOException        *        * 两个问题 javabean非规范命名 如开头大写 时间 Timestamp将导致的插入问题!!!!!!        */        public static void main(String[] args) throws IOException         File dir = new File( d:\\\\test\\\\hibernate\\\\ )         String newPath = d:\\\\test\\\\hibernate_new\\\\ ;        File file = new File(newPath)         if(!file exists())         file mkdir() //创建文件夹                File file[] = dir listFiles()         for (int i = ; i < file length; i++)         if(file[i] isDirectory()) //文件夹直接跳过        continue;                String filename = file[i] getName()         br = new BufferedReader(new InputStreamReader(new FileInputStream(file[i] getAbsolutePath())))         File f = new File(newPath+filename)         if(f exists())        f delete() //删除旧文件 避免重复写入                f createNewFile()         FileWriter fw = new FileWriter(f true)         bw = new BufferedWriter(fw)         if( java equals(exn(filename))) //解析实体类        String data = ;        while((data = ())!=null)                bw write(split(data)+ \\n )         bw flush()                 else if( xml equals(exn(filename))) //解析映射文件        String data = ;        while((data = ())!=null)                bw write(sp (data)+ \\n )         bw flush()                                         /*         * 获取文件扩展名        */        public static String exn(String filename)         int k = filename lastIndexOf( )         if(k> && k<(filename length() ))         return filename substring(k+ )         else         return ;                        /*==============================================解析 java实体类======================================================*/        /*        * 拆分 关键词变小写         * 规则 将带有驼峰格式的子串变小写        */        public static String split(String s)         String data ;        String reg = \\\\s|\\\\ |\\\\ |\\\\;|\\\\(|\\\\)|\\\\|\\\\|\\\\\\ ;        String[] word = s split(reg) //java标识符        ArrayList<String> tag = new ArrayList<String>()         String[] tem = s split( )         // 保存标点符号        for(int i= ; i<tem length; i++)                if(tem[i] matches(reg))         tag add(tem[i])                         int k = ;        for (int i = ; i < word length; i++)         String fw = format(word[i])         if(i < tag size())         data += fw+tag get(i)         else         data += fw;                k = i;                if(tag size() > k)         for (int i = k+ ; i < tag size() i++)         data += tag get(i)                         return data;                /*        * 驼峰格式子串去大写        */        public static String format(String str)         String reg = ([a z]+[A Z][a z]+)* ;        Pattern p = pile(reg)         if(p matcher(str) matches())         return str toLowerCase()                 return str;                /*==============================================解析 hbm xml映射文件======================================================*/        /*        * 拆分 关键词变小写         * 将 组合 id name = || property name = 双引号中的属性值变小写        */        public static String sp (String str)         if(ntains( <id name ) || ntains( <property name ))         return split(str)                 return str;                cha138/Article/program/Java/hx/201311/26132

相关参考