快速创建mapper tableColumn 片段 不区分大小写

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

/**
 * 类描述说明
 * 注:该类可能会被xx类调用
 *
 * @author 马志宏
 * @date 2020/4/21 17:58
 */
public class sqlFmt {
   private static Pattern linePattern = Pattern.compile("_(\\w)");
   public static void main(String[] args) {
      toSqlAs("a.","ID,\n" +
         "NAME,\n" +
         "CREATE_BY,\n" +
         "CREATE_DATE,\n" +
         "UPDATE_BY,\n" +
         "UPDATE_DATE,\n" +
         "REMARKS,\n" +
         "DEL_FLAG,\n" +
         "TOURNAMENT_ID,\n" +
         "ITEM_ID,\n" +
         "SHORT_TITLE,\n" +
         "IS_SEEDED,\n" +
         "ORDER_NUMBER,\n" +
         "GROUP_TITLE,\n" +
         "GROUP_POSITION,\n" +
         "GROUP_RANKING,\n" +
         "RUBBER_GROUP_TITLE,\n" +
         "RUBBER_GROUP_POSITION,\n" +
         "RUBBER_GROUP_RANKING,\n" +
         "ELIMINATION_POSITION,\n" +
         "LUCKYLOSER_POSITION,\n" +
         "TEAM_TYPE,\n" +
         "PLAYER_MAX_NO,\n" +
         "POSITION,\n" +
         "UNIT,\n" +
         "SWISS_RANKING,\n" +
         "REG_APPLY_ID,\n" +
         "STATUS,\n" +
         "ITEM_RANK,");
   }
   public static void toSqlAs(String prefix,String str){
      String[] split = str.replace("`", "").replace("\n", "").split(",");
      List<String> list = new ArrayList<>();
      for(String s:split){
         list.add(prefix+s +" as " +lineToHump(Strings.toLowerCase(s)));
      }
      System.out.println(list.stream().collect(Collectors.joining(",\n")));
   }
   /** 下划线转驼峰 */
   public static String lineToHump(String str) {
      str = str.toLowerCase();
      Matcher matcher = linePattern.matcher(str);
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
      }
      matcher.appendTail(sb);
      return sb.toString();
   }
}

sql------------------------
SELECT
CONCAT(COLUMN_NAME,"," )
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'jn_power'  #库名
AND TABLE_NAME = 'rpt_cap_ammeter_2018'; #表名

 

posted @ 2020-04-29 15:06  ±小马哥  阅读(372)  评论(0编辑  收藏  举报