首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
ModelBuilder里的labelNames和types为什么要多一位?
风满楼
2020-04-22 18:24
@
JFinal
波总,为什么ModelBuilder的这两个数组要多第一个默认的空值呢?有啥含义呢?
项目:
JFinal
评论区
JFinal
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-24 09:06
@JFinal
太细了......
回复
JFinal
2020-04-24 12:19
@风满楼
jfinal 高品质迭代 9 年,值得拥有
回复
发送
我要反馈
热门反馈
扫码入社
如果数组不多出一个 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