mybatis 一对多,一对一代码生成器

278 阅读1分钟

mybatis 一对多,一对一代码生成器

这是一个 类 graphql 语法 + 简单sql语法的解析器+代码生成器

语法解析器使用PEGjs生成

代码生成器支持生成

  • mapper
  • resultMapper
  • model
  • select

在线体验

youngboyvip.gitee.io/youngboy/my…

效果图

效果图

语法示例

var parser = require('graphql');

var query = `
  select 
findByRootIdOrClassId(type:"com.fawkes.yhsw.common.model.TplClass") {
  b.id Long,
  b.class_name:className String,
  b.p_name:pName String,
  c.rootId Long,
  components.config(type:"com.fawkes.yhsw.common.model.TemplateModuleInfo",fetch:"list"){
    a.id Long,
    a.component:component String,
    a.name String,
    a.page_type:pageType String,
    a.thumbnail String,
    a.range_index:rangeIndex Integer
  }
} 
from
	tpl_class_info b
    JOIN tpl_class_rel c ON b.id = c.classId
    JOIN template_module_info a ON a.id = c.modId
`;

var ast = parser.parse(query);
// ast is a plain JS object