整體思路
1、進入數據庫,查看表信息,復制表信息中的數據庫字段部分
2、利用java代碼讀取剪貼板內容
3、切割替換字符串,把字段注釋轉成java文檔注釋,把下划線改成駝峰命名規則
直接附代碼,可以直接拷貝使用,部分非下划線字段可能有誤,需要手動修改
package demo; import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CommentToVO { public static void main(String[] args) { getEntity(getSysClipboardText()); } /** * 使用剪切板中的內容 */ private static String getSysClipboardText() { String ret = ""; Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); // 獲取剪切板中的內容 Transferable clipTf = sysClip.getContents(null); if (clipTf != null) { // 檢查內容是否是文本類型 if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { ret = (String) clipTf.getTransferData(DataFlavor.stringFlavor); } catch (Exception e) { e.printStackTrace(); } } } return ret; } /** * 獲取rvo */ private static void getEntity(String raw) { String splitReg, ptnReg; if (raw.contains("comment on column")) { // oracle splitReg = "';"; ptnReg = "\\.(\\S*)[a-z\\s]*'(\\S+)"; } else { // mysql splitReg = "',"; ptnReg = "`(\\S*)`[\\S\\s]*'(\\S*)"; } String[] list = raw.split(splitReg); Pattern pattern = Pattern.compile(ptnReg); Matcher matcher; for (String s : list) { matcher = pattern.matcher(s); while (matcher.find()) { System.out.println("/** " + matcher.group(2) + " */"); String[] fieldPart = matcher.group(1).toLowerCase().split("_"); StringBuilder sb = new StringBuilder(fieldPart[0]); for (int i = 1; i < fieldPart.length; i++) { sb.append(toUpperFirstChar(fieldPart[i])); } System.out.println("private String " + sb.toString() + ";"); } } } private static String toUpperFirstChar(String string) { char[] charArray = string.toCharArray(); charArray[0] -= 32; return String.valueOf(charArray); } }
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。