mybatis 一对多,一对一代码生成器
这是一个 类 graphql 语法 + 简单sql语法的解析器+代码生成器
语法解析器使用PEGjs生成
代码生成器支持生成
- mapper
- resultMapper
- model
- select
在线体验
http://youngboyvip.gitee.io/youngboy/mybatis.html
效果图
image.png语法示例
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
网友评论