2020-04-24 12:19
@沉默是金 前几天加过这个扩展,看看你能不能用上:
https://jfinal.com/share/2031
2020-04-23 18:36
@蓝雨007 不知道你的 StudentService 是如何定义的,但下面的方法一定能解决,添加配置:
me.setToCglibProxyFactory();
注意看文档:
https://jfinal.com/doc/4-8
可能是你的开发环境是 JRE 而不是 JDK
2020-04-23 12:06
@小白菜111 undertow.resourcePath 这个配置中的第一个有效路径(真实存在的路径) 将成为 PathKit.getWebRootPath() 的值
2020-04-22 21:32
因为从 JDBC 的 ResultSet 中读取数据是从序号为 1 开始的,注意看你截图中代码的 for( int i=1 ...) 这个地方的 i 是从 1 开始的
如果数组不多出一个 1 来,那么如果 for 循环的 i 从 0 开始,你得在 rs.getXxx 时加 1,例如:
value = rs.getObject( i + 1);
如果 for 循环的 i 从 1 开始,你得在 if 判断的 types 数组减去一个 1,例如:
if ( types[ i - 1] ...)
总之,无法去除加法或者减法动作。jfinal 的设计是用空间换时间,省去了加、减操作,提升性能
ModelBuilder 这个方法内部是热点代码,优化是有意义的。
jfinal 极度关注性能,比传统 web + orm + template 组合框架性能高太多了:
https://www.oschina.net/news/90815/jfinal-3-3
https://www.oschina.net/news/112156/enjoy-4-8-released
2020-04-22 11:17
@或是的话 vue 号称是可以渐进式使用,应该是可以的
你看看它文档中的渐进式用法的相关部分
2020-04-22 01:33
第一个需求可以实现,不过目前这个需求只有你一个人提出来,貌似需求不是很强烈
第二个需求,其实是我一直刻意避免的。以前多次说明过原因,我大致说一下:
1:api 调用方式代码并不比直接 sql 简单
2:api 调用方式无法实现复杂 sql ,即便可以实现,内部结构一定会极度复杂
3:where 条件如果嵌套、小扩号指定优先级的需求不好处理,例如:
where a = x and (b = y or c = z)
4:会增加学习成本,API 肯定也是要学习的。另一方面 sql 也必须要学习,所以会多学一个 api 用法。jfinal 的设计可以只学会 sql 就可以
5:其它还有一些原因,在此不再详述
当然,api 调用方式也有优点:
1:方法调用有代码提示,出错的概率比直接写 sql 要低一点
2:安全感比直接写 sql 要高一点
没有完美的设计,只有利弊权衡后的取舍