IDEA Generate POJOs.groovy 踩坑小计 | 生成实体 |groovy报错

一、无法生成注释或生成的注释是null

问题可能的原因:

1.没有从表里提取注释信息,修改def calcFields(table)方法即可

java 复制代码
def calcFields(table) {
  DasUtil.getColumns(table).reduce([]) { fields, col ->
    def spec = Case.LOWER.apply(col.getDataType().getSpecification())
    def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
    fields += [[
                 column : col.getName(),
                 name : javaName(col.getName(), false),
                 comment: col.getComment(),
                 type : typeStr,
                 annos: ""]]
  }

2.注释判断部分有问题,以下提供正确的方法

java 复制代码
fields.each() {
    // 修正拼写错误,并使用安全导航操作符和真值判断
    if (it.comment?.trim() != "") {  // 使用 trim() 去除可能的空白字符
        out.println "\t/**"
        out.println "\t * ${it.comment}"
        out.println "\t */"
    }
    if (it.annos != "") {
        out.println "  ${it.annos}"
    }
    out.println "  private ${it.type} ${it.name};"
}

二、生成出的注释是乱码,IDEA提示可能是GBK字符

解决方案:指定生成文件的编码格式,修改def generate(table, dir) 不分

java 复制代码
def generate(table, dir) {
  def className = javaName(table.getName(), true)
  def fields = calcFields(table)
  new File(dir, className + ".java").withPrintWriter("UTF-8") { out -> generate(out, className, fields) }
相关推荐
smileNicky10 分钟前
Lombok @Data 在 IDEA 中运行报错解决方案
java·ide·intellij-idea
计算机学姐11 分钟前
基于SpringBoot的汉服租赁系统【颜色尺码套装+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
qq_54702617913 分钟前
Maven 仓库管理
java·maven
天天摸鱼的java工程师15 分钟前
线程池深度解析:核心参数 + 拒绝策略 + 动态调整实战
java·后端
mjhcsp16 分钟前
C++ KMP 算法:原理、实现与应用全解析
java·c++·算法·kmp
邵伯23 分钟前
Java源码中的排序算法(一)--Arrays.sort()
java·排序算法
阿里巴巴P8高级架构师29 分钟前
从0到1:用 Spring Boot 4 + Java 21 打造一个智能AI面试官平台
java·后端
stevenzqzq31 分钟前
trace和Get thread dump的区别
java·android studio·断点
桦说编程32 分钟前
并发编程踩坑实录:这些原则,帮你少走80%的弯路
java·后端·性能优化
程序猿零零漆32 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十三)SpringMVC快速入门、请求处理
java·学习·spring