JFinal 问题小结

刚接触jfinal,有好多不明白的,有说错的还望海涵。

发现问题如下:

(一)、sql模板中未找到for循环嵌套if条件支持。

                多条件模糊查询可能会用到,省去在service层 逐项进行 为空验证。

(二)、Kv继承了HashMap,导致for循环生成的sql条件无规则。

                个人感觉继承LinkedHashMap好点,效率可能会差点,但是读取有序。

  实例:

(现在写法)

图片.png

图片.png

(如果实现了for循环嵌套if,再将Kv继承LinkedHashMap)

图片.png

图片.png

个人代码量得到进一步精简。

评论区

杜福忠

2018-05-25 21:37

那恭喜你获得一个新手礼包:
/**
* Okv (Ordered Key Value)
*
* Okv 与 Kv 的唯一区别在于 Okv 继承自 LinkedHashMap,而 Kv 继承自 HashMap
* 所以对 Okv 中的数据进行迭代输出的次序与数据插入的先后次序一致
*
* Example:
* Okv para = Okv.by("id", 123);
* User user = user.findFirst(getSqlPara("find", para));
*/

杜福忠

2018-05-25 21:39

常用Kit:
AesKit.class
Base64Kit.class
ElKit.class
FileKit.class
HandlerKit.class
HashKit.class
HttpKit.class
ImageKit.class
JavaKeyword.class
JsonKit.class
Kv.class
LogKit.class
Okv.class
PathKit.class
Prop.class
PropKit.class
ReflectKit.class
Ret.class
StrKit.class

潇洒太爷

2018-05-25 21:48

@杜福忠 我觉得你那个叫LinkKv || LKv更好哈哈

JFinal

2018-05-25 22:55

jfinal 模板引擎的所有功能,都可以直接用于 sql 管理模块,所以 for 循环嵌套 if 是再自然不过的事情,这个事 在第五章第二小段有过说明:
http://www.jfinal.com/doc/5-13

继孙 LinkedHashMap 的 Kv 名叫 Okv,由于 HashMap 的性能比 LinkedHashMap 要好,因此 Kv 继承了 HashMap,对 LinkedHashMap 有需求的场景用下 Okv 即可

总之,贴主的需求早就满足过了,just do it

JFinal

2018-05-25 22:57

@潇洒太爷 缩写必须来自于有完整含义的句子, Okv 来自于 Ordered Key Value

而 LinkKv || LKv 并不满足上面的条件

潇洒太爷

2018-05-28 09:01

@JFinal 明白!!

热门反馈

扫码入社