最近忙项目的一些小教训总结
2009-04-13 22:37
288 查看
1, Spring的core taglib中的if标签的test属性是用来判断逻辑值来决定所嵌套的内容是否显示。该值通常用
${}来构造逻辑表达式,{}里的内容是java/jsp语法的表达式,通常不会出错,不过我有些地方不小心在{}后加
空格了,这也是平时的分隔代码的习惯导致的,结果所有的逻辑表达式都无效。
2,用过java编程的人都知道StringBuffer可以用来构造动态字符串,并且可以得到较好的内存使用效率和构造
性能。该功能类可以连接各种数据封装类如Integer, Boolean, String, Float。有次用new StringBuffer
(Integer(12)).append(StringA).append(",")之类的语句来连接一个字符串,结果调试半天才知道
StringBuffer(Integer)时,整型参数被用来初始缓存长度,而不是添加到字符串中,应该用new
StringBuffer().append(Integer(12)).append(StringA).append(",")。
3,StringA.split(".")会返回无法取头元素的数组(我想其实不是数组),如果需要用点号分割成数组,必须
用StringA.split("\\.")。后来看split的参数说明才知道是regular expression。点号被用来表示任意字符,
呵呵。后来又出现一个关于split的小教训,就是分隔符在StringA为结尾时,数组会放弃最后一个空元素,出
乎我的意料。如"a.b.".split("\\."),返回数组长度会是2,最后的空元素被丢弃,奇怪!分隔符在字符串开
头时,该零长度字符串能被归到数组的头元素中。
4,如果某表的触发器会更新该表的某行,该触发器无法成功。
5,如果某表A的主键列为表B的外键,并有CASCADE ON DELETE/UPDATE,则表B不能有触发器改动表A的数据,否
则CASCADE会失败。
6,Spring框架的数据库事务的AutoProxy机制
(org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator)可以根据datasource的不同
创建多个,只要对应属性interceptorNames配置正确即可。
7,Spring的core taglib中的set标签没有name属性,只有var和value。
8,Spring的core taglib中的if标签,如果对List类型变量取值.size(),则当该变量为NULL时会无法顺利编译
JSP文件。
9,ORACLE的SQL语句中可以用row_number()函数来取排序号,不过不能用别名ALIAS(as关键字声明的列名)来
用于其over从句。因为ALIAS在查询生成结果后才生效用以导出表示列名。
${}来构造逻辑表达式,{}里的内容是java/jsp语法的表达式,通常不会出错,不过我有些地方不小心在{}后加
空格了,这也是平时的分隔代码的习惯导致的,结果所有的逻辑表达式都无效。
2,用过java编程的人都知道StringBuffer可以用来构造动态字符串,并且可以得到较好的内存使用效率和构造
性能。该功能类可以连接各种数据封装类如Integer, Boolean, String, Float。有次用new StringBuffer
(Integer(12)).append(StringA).append(",")之类的语句来连接一个字符串,结果调试半天才知道
StringBuffer(Integer)时,整型参数被用来初始缓存长度,而不是添加到字符串中,应该用new
StringBuffer().append(Integer(12)).append(StringA).append(",")。
3,StringA.split(".")会返回无法取头元素的数组(我想其实不是数组),如果需要用点号分割成数组,必须
用StringA.split("\\.")。后来看split的参数说明才知道是regular expression。点号被用来表示任意字符,
呵呵。后来又出现一个关于split的小教训,就是分隔符在StringA为结尾时,数组会放弃最后一个空元素,出
乎我的意料。如"a.b.".split("\\."),返回数组长度会是2,最后的空元素被丢弃,奇怪!分隔符在字符串开
头时,该零长度字符串能被归到数组的头元素中。
4,如果某表的触发器会更新该表的某行,该触发器无法成功。
5,如果某表A的主键列为表B的外键,并有CASCADE ON DELETE/UPDATE,则表B不能有触发器改动表A的数据,否
则CASCADE会失败。
6,Spring框架的数据库事务的AutoProxy机制
(org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator)可以根据datasource的不同
创建多个,只要对应属性interceptorNames配置正确即可。
7,Spring的core taglib中的set标签没有name属性,只有var和value。
8,Spring的core taglib中的if标签,如果对List类型变量取值.size(),则当该变量为NULL时会无法顺利编译
JSP文件。
9,ORACLE的SQL语句中可以用row_number()函数来取排序号,不过不能用别名ALIAS(as关键字声明的列名)来
用于其over从句。因为ALIAS在查询生成结果后才生效用以导出表示列名。
相关文章推荐
- 最近做项目的一些关于重构方面的总结
- 最近做项目,前端的一些总结
- 最近项目的一些经验总结
- 最近做项目遇到的一些问题总结
- 最近做项目的一些关于重构方面的总结
- js的一些使用。。。(最近项目jquery使用的总结)
- 最近做一个SSH项目总结出来的一些程序执行流程
- 最近项目中用到sql的一些资料总结
- 最近项目中的一些总结
- 最近一些项目编码实践总结思考
- VS项目属性的一些配置项的总结(important)
- [项目管理]总结的一些系统分析的经验
- 最近实战项目总结
- AJAX项目中的一些总结
- 最近笔记本主板等硬件故障的一些经验教训
- (转)最近一个项目中关于NGUI部分的总结(深度和drawCall)
- 当范围很大时,重构的同构性确实很难掌握啊,记最近维护代码时一些教训
- 简要总结我做过的一些项目
- iOS 自己项目中的一些总结(tableview 避免重用以及多选状态下判断数组中的bool值是不是同一个状态以及自定义控件的原因)
- 项目的一些总结