通用工具类

说明

在模板中通过 ${PubUtils.getRandomLong()} 方式可以直接使用。

主要的方法和功能请参看源码。

Java源码

  1. public class PubUtils {
  2. /**
  3. * 获取随机的Long
  4. *
  5. * @return 随机Long
  6. */
  7. public static Long getRandomLong() {
  8. Random random = new Random();
  9. return random.nextLong();
  10. }
  11. /**
  12. * 生成UUID
  13. *
  14. * @return 无-的,且大写32位的UUID
  15. */
  16. public static String getUUID() {
  17. UUID uuid = UUID.randomUUID();
  18. return uuid.toString().replaceAll("-", "").toUpperCase();
  19. }
  20. /**
  21. * 获取当前年月日
  22. *
  23. * @return yyyy-MM-dd
  24. */
  25. public static String getDate() {
  26. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  27. return dateFormat.format(new Date());
  28. }
  29. /**
  30. * 获取年月日和时间
  31. *
  32. * @return yyyy-MM-dd HH:mm:ss
  33. */
  34. public static String getDateTime() {
  35. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  36. return dateFormat.format(new Date());
  37. }
  38. /**
  39. * 获取当前的时间戳
  40. *
  41. * @return 时间戳
  42. */
  43. public static long getTime() {
  44. return System.currentTimeMillis();
  45. }
  46. /**
  47. * List转换为String,用逗号间隔
  48. * 如: col1,col2,col3
  49. *
  50. * @param list 字符串list
  51. * @return 逗号分隔的字符串
  52. */
  53. public static String listToStr(List<String> list) {
  54. if (list == null || list.size() == 0) {
  55. return "";
  56. }
  57. StringBuilder sb = new StringBuilder();
  58. for (String str : list) {
  59. sb.append(str).append(",");
  60. }
  61. sb.deleteCharAt(sb.length() - 1);
  62. return sb.toString();
  63. }
  64. /**
  65. * String转换为List,用逗号间隔
  66. * 将 col1,col2,col3 以逗号分隔为list的元素
  67. *
  68. * @param str 原始字符串
  69. * @return 拆分后的List
  70. */
  71. public static List<String> stringToList(String str) {
  72. List<String> list = new ArrayList<String>();
  73. if (str != null && str.trim().length() != 0) {
  74. String[] strs = str.split(",");
  75. for (String string : strs) {
  76. list.add(string);
  77. }
  78. }
  79. return list;
  80. }
  81. /**
  82. * 包名转路径
  83. * 如:com.jd.xxx 转换为: com/jd/xxx
  84. *
  85. * @param str 包名
  86. * @return 路径地址
  87. */
  88. public static String packageToPath(String str) {
  89. return str.replace('.', '/');
  90. }
  91. /**
  92. * 路径转换为包名
  93. * 如: com/jd/xxx 转换为:com.jd.xxx
  94. *
  95. * @param str 路径地址
  96. * @return 包名路径
  97. */
  98. public static String pathToPackage(String str) {
  99. str = str.replace('/', '.');
  100. return str.replace('\\', '.');
  101. }
  102. /**
  103. * 如果字符串不为空,将字符串拼接到分隔符后面
  104. * 否则返回空串
  105. * 如:("path","/") --&gt; /path
  106. *
  107. * @param str 原始串
  108. * @param sep 分隔符
  109. * @return 转换后的字符串
  110. */
  111. public static String addStrBeforeSeparator(String str, String sep) {
  112. if (StringUtils.isEmpty(str)) {
  113. return "";
  114. }
  115. return str + sep;
  116. }
  117. /**
  118. * 如果字符串不为空,将字符串拼接到分隔符后面
  119. * 否则返回空串
  120. * 如:("path","/") --&gt; /path
  121. *
  122. * @param str 原始串
  123. * @param sep 分隔符
  124. * @return 转换后的字符串
  125. */
  126. public static String addStrAfterSeparator(String str, String sep) {
  127. if (StringUtils.isEmpty(str)) {
  128. return "";
  129. }
  130. return sep + str;
  131. }
  132. /**
  133. * 将列名,按id,name,total_money格式拼接在一起,主要用户SQL拼接
  134. *
  135. * @param columns 列List
  136. * @return 类似 id,name,total_money
  137. */
  138. public static String joinColumnNames(List<ColumnVo> columns) {
  139. StringBuilder sb = new StringBuilder();
  140. for (ColumnVo column : columns) {
  141. sb.append(column.getColumnName()).append(",");
  142. }
  143. if (sb.length() > 0) {
  144. sb.deleteCharAt(sb.length() - 1);
  145. }
  146. return sb.toString();
  147. }
  148. }