diff --git a/README.md b/README.md index bcd81e4..a103717 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ SpringBootCodeGenerator CSDN博客 http://blog.csdn.net/moshowgame 更新日期 更新内容 +20190511优化mybatis模块的dao和xml模板,修改dao接口注解为@Repository,所有dao参数改为包装类,删除update语句最后的UpdateTime = NOW(),修改dao接口文件的方法注释使其更符合javaDoc的标准,修改insert语句增加插入行主键的返回,修改load的方法名为selectByPrimaryKey,修改xml的update语句新增动态if判空,修改xml的insert语句新增动态插入判空,更符合mybatisGenerator标准(感谢@Archer-Wen的贡献 )。 20190429新增返回封装工具类设置,优化对oracle注释comment on column的支持(感谢@liukex反馈),优化对普通和特殊storage关键字的判断(感谢@AhHeadFloating的反馈 )。 20190211提交gitignore,解决StringUtils.lowerCaseFirst潜在的NPE异常,校验修改为@RequestParam参数校验,lombok之@Data和@Slf4j优化,fix JdbcDAO模板类名显示为中文问题,WebMvcConfig整合MessageConverter,模板代码分类(感谢@liutf和@tfgzs的pull request)。 20190210实体生成规则切换为包装类型,不再采用基本数据类型,为实体类生成添加显示的默认构造方法(感谢@h2so的pull request)。 @@ -40,10 +41,13 @@ SpringBootCodeGenerator - + + + + - +
类名 说明
字段名 说明
packageName 自定义的包名
authorName 自定义的作者名
returnUtil 自定义的返回Util
tableName sql中的表名
className java类名
classComment java类备注
classComment sql表备注/java类备注
fieldName 字段名
fieldComment 字段备注
diff --git a/codegenerator1.png b/codegenerator1.png index 9a62348..da53f3f 100644 Binary files a/codegenerator1.png and b/codegenerator1.png differ diff --git a/codegenerator3.png b/codegenerator3.png index 82f88f0..4988787 100644 Binary files a/codegenerator3.png and b/codegenerator3.png differ diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis/dao.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis/dao.ftl index 210c9fc..cc60210 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis/dao.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis/dao.ftl @@ -7,39 +7,43 @@ import java.util.List; * ${classInfo.classComment} * @author ${authorName} ${.now?string('yyyy-MM-dd')} */ -@Component +@Repository public interface ${classInfo.className}Dao { /** * 新增 + * @param ${classInfo.className}Entity */ - public int insert(@Param("${classInfo.className?uncap_first}") ${classInfo.className} ${classInfo.className?uncap_first}); + public Integer insert(@Param("${classInfo.className?uncap_first}") ${classInfo.className}Entity ${classInfo.className?uncap_first}); /** * 删除 + * @param id */ - public int delete(@Param("id") int id); + public Integer delete(@Param("id") Integer id); /** * 更新 + * @param ${classInfo.className}Entity */ - public int update(@Param("${classInfo.className?uncap_first}") ${classInfo.className} ${classInfo.className?uncap_first}); + public Integer update(@Param("${classInfo.className?uncap_first}") ${classInfo.className}Entity ${classInfo.className?uncap_first}); /** - * Load查询 + * 根据主键查询一个实体 + * @param id */ - public ${classInfo.className} load(@Param("id") int id); + public ${classInfo.className}Entity selectByPrimaryKey(@Param("id") Integer id); /** * 分页查询Data + * @param offset + * @param pageSize */ - public List<${classInfo.className}> pageList(@Param("offset") int offset, - @Param("pagesize") int pagesize); + public List<${classInfo.className}Entity> pageList(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize); /** * 分页查询Count */ - public int pageListCount(@Param("offset") int offset, - @Param("pagesize") int pagesize); + public Integer pageListCount(); -} +} \ No newline at end of file diff --git a/generator-web/src/main/resources/templates/code-generator/mybatis/mybatis.ftl b/generator-web/src/main/resources/templates/code-generator/mybatis/mybatis.ftl index 0c00677..df609e5 100644 --- a/generator-web/src/main/resources/templates/code-generator/mybatis/mybatis.ftl +++ b/generator-web/src/main/resources/templates/code-generator/mybatis/mybatis.ftl @@ -3,80 +3,87 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> - <#list classInfo.fieldList as fieldItem > - - - + + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + + + - <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> - <#list classInfo.fieldList as fieldItem > - `${fieldItem.columnName}`<#if fieldItem_has_next>, - - + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + `${fieldItem.columnName}`<#if fieldItem_has_next>, + + - - INSERT INTO ${classInfo.tableName} ( - <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> - <#list classInfo.fieldList as fieldItem > - <#if fieldItem.columnName != "Id" > - `${fieldItem.columnName}`<#if fieldItem_has_next>, + + INSERT INTO ${classInfo.tableName} + + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + <#if fieldItem.columnName != "id_" > + ${r""} + `${fieldItem.columnName}`<#if fieldItem_has_next>, + ${r""} + + - - - ) - VALUES( - <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> - <#list classInfo.fieldList as fieldItem > - <#if fieldItem.columnName != "Id" > - <#if fieldItem.columnName="addtime" || fieldItem.columnName="updatetime" > - NOW()<#if fieldItem_has_next>, - <#else> - ${r"#{"}${classInfo.className?uncap_first}.${fieldItem.fieldName}${r"}"}<#if fieldItem_has_next>, + + + <#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> + <#list classInfo.fieldList as fieldItem > + <#if fieldItem.columnName != "id_" > + <#--<#if fieldItem.columnName="addtime" || fieldItem.columnName="updatetime" > + ${r""} + NOW()<#if fieldItem_has_next>, + ${r""} + <#else>--> + ${r""} + ${r"#{"}${fieldItem.fieldName}${r"}"}<#if fieldItem_has_next>, + ${r""} + <#----> + + - - - - ) + - + DELETE FROM ${classInfo.tableName} - WHERE `id` = ${r"#{id}"} + WHERE `id_` = ${r"#{id}"} - + UPDATE ${classInfo.tableName} - SET - <#list classInfo.fieldList as fieldItem > - <#if fieldItem.columnName != "Id" && fieldItem.columnName != "AddTime" && fieldItem.columnName != "UpdateTime" > - ${fieldItem.columnName} = ${r"#{"}${classInfo.className?uncap_first}.${fieldItem.fieldName}${r"}"}, - - - UpdateTime = NOW() - WHERE `id` = ${r"#{"}${classInfo.className?uncap_first}.id${r"}"} + + <#list classInfo.fieldList as fieldItem > + <#if fieldItem.columnName != "id_" && fieldItem.columnName != "AddTime" && fieldItem.columnName != "UpdateTime" > + ${r""}${fieldItem.columnName} = ${r"#{"}${fieldItem.fieldName}${r"}"}<#if fieldItem_has_next>,${r""} + + + + WHERE `id_` = ${r"#{"}id${r"}"} - SELECT FROM ${classInfo.tableName} - WHERE `id` = ${r"#{id}"} + WHERE `id_` = ${r"#{id}"} - SELECT FROM ${classInfo.tableName} - LIMIT ${r"#{offset}"}, ${r"#{pagesize}"} + LIMIT ${r"#{offset}"}, ${r"#{pageSize}"} - SELECT count(1) FROM ${classInfo.tableName} - + \ No newline at end of file