Jfinal 创建sql指令,启动部署提示找不到命令

刚刚升级3.0,试用了下sql管理,挺好用的,但是在创建sql指令之后,启动移植报找不到指令,可我在配置类已经用

addDirective

添加了啊,求解

评论区

JFinal

2017-02-16 11:25

贴出来具体的代码片段,以及异常消息,尤其是 ActiveRecordPlugin 的配置

MisterJion

2017-02-16 11:46

@JFinal
这个是异常信息
Directive not found: #like
Template: "/user/user.sql". Line: 83
com.jfinal.template.stat.ParseException: Directive not found: #like
-------------------------------------------------
这个是添加指令
public void configEngine(Engine me) {
me.addDirective("like", new PLike());
}

JFinal

2017-02-16 11:49

@MisterJion 改成如下代码即可:
arp.getSqlKit().getEngine().addDirective("like", new PLike());

因为 configEngine(Engine me) 仅仅是配置的 view 层使用的 Einge,而 ActiveRecordPlugin 的 Engine 是独立的,不仅与 view 层独立,多数据源之间的 Engine 也是独立的,这样就可以极为灵活的去定制

JFinal

2017-02-16 11:50

如果不将 Engine 独立出来,那么 sql 管理的 Engine 就会干扰到 view 层的 Engine,尤其是对命名空间会有污染

MisterJion

2017-02-16 11:52

@JFinal 我看代码里面确实SQLkit里new的一个engine,OK。话说,现在 Jfinal有对sql里的模糊查询有没有什么支持

qxy

2017-09-26 11:02

@JFinal 但是我这边调用不了==》me.getSqlKit().getEngine().....没有这个属性调用

热门反馈

扫码入社