开发者社区> 问答> 正文

jfinal的插件怎么开发?:报错

@JFinal 你好,想跟你请教个问题:

我现在已把SQL语句写到多个xml文件中,并通过一个sqlUtil工具类put到一个Map<Sring,String>里进行管理。但这样的话,我要获取sql语句就需要频繁的读取xml文件来获取。

能不能将这个sqlUtil工具栏转换成插件,声明一个static Map<Sring,String> sqlMap;在项目启动的时候就一直存在。

使用插件是不是都要 implements IPlugin、都要有构造方法、start()和stop()?

展开
收起
kun坤 2020-06-07 14:56:14 497 0
1 条回答
写回答
取消 提交回答
  • 参考PropKit,在加载配置的时候一同加载即可,不需要插件######谢谢你们的指导,我试试看。######

    理解的没有问题,只要实现了IPlugin接口的就行了。


    ######谢谢你的指导,我试试看。######

         创建一个 SqlInXmlPlugin 类实现 IPlugin接口,然后在 start() 方法中加载数据,在 stop() 方法中释放资源,使用的时候在 configPlugin(Plugins me) 中这样用一下: me.add(new SqlInXmlPlugin)。

        简单来说,JFinal 只是回调了你插件的 start()与 stop() 方法而已,具体在这两个方法中要做什么操作非常自由。

       jfinal 提供了一个 com.jfinal.plugin.activerecord.Sqls.java 工具类用来管理外部 sql,只不过这个工具类管理的是 key、value 型格式的 sql,你使用的是 xml ,但是可以参考一下这个 Sqls。

        如果不想将这个功能做成插件,可以在 YourJFinalConfig 中添加一个 public void afterJFinalStart() 方法,在此方法中初始化一下你需要的工具类即可。

    ######回复 @饶诗伟 : Sqls这个类支持多外部文件,可以使用Sqls.use(fileName) 来指定使用的是哪个文件中的sql,便于对sql进行分类管理,比 xml 要方便很多,少写很多代码######回复 @JFinal : 谢谢 谢谢######回复 @饶诗伟 : 必然可以处理多行啊,加外斜杠字符就打完收工了,看这里:http://my.oschina.net/u/218567/blog/160509######Sqls貌似处理不了多行的sql语句呢
    2020-06-07 14:56:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战 立即下载
使用Spring.Initializr定制工程脚手架 立即下载
陈曦:使用Spring.Initializr定制工程脚手架 立即下载