问题
更新idea IntelliJ IDEA 2023.1.2以上的版本后出现无逗号分隔问题,下面图片是问题,生成没有逗号分隔,用不了
生成的效果如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/dcbf5f48e136457da80e357aa5593f36.png)
解决方案
在easycode的设置里找到Template下的mapper.xml.vm脚本和Global Config下的mybatisSupport.vm脚本,
然后将这两个脚本里的 $velocityHasNext 替换成 $foreach.hasNext,
然后保存设置。之后新生成的mapper.xml里就不会出现没有逗号间隔的问题了。
贴上效果
没有调整过这个文件的人 粘贴进去即可使用
##针对Mybatis 进行支持,主要用于生成xml文件
#foreach($column in $tableInfo.fullColumn)
##储存列类型
$tool.call($column.ext.put("sqlType", $tool.getField($column.obj.dataType, "typeName")))
#if($tool.newHashSet("java.lang.String").contains($column.type))
#set($jdbcType="VARCHAR")
#elseif($tool.newHashSet("java.lang.Boolean", "boolean").contains($column.type))
#set($jdbcType="BOOLEAN")
#elseif($tool.newHashSet("java.lang.Byte", "byte").contains($column.type))
#set($jdbcType="BYTE")
#elseif($tool.newHashSet("java.lang.Integer", "int", "java.lang.Short", "short").contains($column.type))
#set($jdbcType="INTEGER")
#elseif($tool.newHashSet("java.lang.Long", "long").contains($column.type))
#set($jdbcType="INTEGER")
#elseif($tool.newHashSet("java.lang.Float", "float", "java.lang.Double", "double").contains($column.type))
#set($jdbcType="NUMERIC")
#elseif($tool.newHashSet("java.util.Date", "java.sql.Timestamp", "java.time.Instant", "java.time.LocalDateTime", "java.time.OffsetDateTime", " java.time.ZonedDateTime").contains($column.type))
#set($jdbcType="TIMESTAMP")
#elseif($tool.newHashSet("java.sql.Date", "java.time.LocalDate").contains($column.type))
#set($jdbcType="TIMESTAMP")
#else
##其他类型
#set($jdbcType="VARCHAR")
#end
$tool.call($column.ext.put("jdbcType", $jdbcType))
#end
##定义宏,查询所有列
#macro(allSqlColumn)#foreach($column in $tableInfo.fullColumn)$column.obj.name#if($foreach.hasNext), #end#end#end