1.当确定一个方法不提供给外部调用时,权限修饰符应写成private,而不是public
2.使用ibatis,出现无效标识符的错误原因:
。本身的sql有错误
。语句配置错误,如:
<select id="a" resultMap="">
....
</select>
正确的配置为
<select id="a" parameter="java.util.Map" resultClass="java.util.Long">
....
</select>
3. select * from (select p.my_name as name) where name=""
而不是 select * from (select p.my_name as name) where my_name=""
4.容易犯的错误
错误: System.out.println("--->" + rsp == null);
正确: System.out.println("--->" + rsp == null);
5. 哪里需要用到java变量,就在哪里新建该变量,遵循就近原则
6. java.class.classCastException
解决:
。把不能强转的vo继承对应的父类
。使用一个新的vo(已继承父类)包装不能强转的vo
7、private static ApDzfqApplicationVo dzfqVO;
这个声明是不合适的,因为它会公用一个VO,而不是新建VO,假如期待每个都是一个新的实例,
需要去掉static修饰符。
8. svn提交代码:
。特别注意配置文件的提交
。提交的时候,最好详细写清楚每个功能描述信息
。提交的时候,都要检查下每个要提交的文件
9.axis webservice出现的faultString:no such operation错误
。检查webservice的方法名和配置文件里的方法名称
。junit测试的时候,声明的serviceName是否写错
10.删除一个list集合,不能使用for的方式remove删除。正确做法为使用iterator去删除
11. 假如子类和父类有意义相似的字段,应该优先调用子类的字段
12. 把相同的代码块抽取到service层,业务层代码关联越少,通用性则更强大。
13. 为什么有些方法体里面直接返回一个null或者方法体里什么都没有
。给方法调用者进行方法重写,优先执行子类重写的方法
14.webservice的VO类最好不要直接配置在xxx-sqlmap.xml文件中,而是新建一个VO类与之对应,方便日后的修改
15. oracle的group by函数:分组的条件越少,sql执行效率越高。先是group by,再是执行order by
16. oracle数据库查询的结果为0.98,到了java控制台显示为 .98
解决:对这个字段进行格式化: to_char('number','fm9990.099')
17. 查看某个端口是否启用
netstat -ano|findstr 1521
18. ora-01745:无效的主机/绑定变量名
原因:。sql语句缺少逗号分隔符 ,
.使用了oracle关键字
19. 假如一个字段的值为null,在调用toString(),则会出现空指针错误。
假如一个字段的值为"",在调用Integer.parse(),则会出现java.lang.NumberFormatException错误。
20. freemarker.core.parseException:encountered"<"
解决:
。符号存在问题
。使用别的输入法试试
。使用word 2007试试
21. java.io.FileNotFoundException: c:\wfis_log.txt(拒绝访问)
在C盘修改该文件提示需要管理员权限。文件的使用权限导致出现该错误。对所要操作的文件进行权限的添加。
22. jboss中的deploy目录不能备份当前应用。一是会导致jboss启动慢;二是jboss启动的时候出现实例已经
初始化的错误。
23. class文件的反编译文件不等于它原来的java源文件。
24. 程序卡死、应用卡死的时候,极大可能是程序中出现了死循环的操作。
25.count(case when xxx then 1 else null end),当else条件时,count函数并不会做加1操作
26. nexted exception is org.springframework.beans.TypeMisMatch Exception:
failed to convert proerty value of type[java.lang.String] to required type [java.lang.class]
for property['loopResult FiledClass']
可能原因:
class类名与配置文件中的class类名不一致;大小写不一致
27. String startDay = "20150700";
String closeDay = "201220910";
startDay.CompareTo(closeDay); -1
closeDay.CompareTo(startDay); 1
28. 通过查询得到一个对象VO时,首先要确定该VO是否会为空,再去获取该对象VO的属性,
否则容易出现空指针错误。
29. List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
可以利用 List subList = list.subList(0,3);
作分批次提交,再使用subList.clear();