摘要: 如果oracle中的表字段name,类型为char(2),如果表中的记录name='1',那么pl/sql查询where条件中name='1',或者name='1 ', 1后面有任意个空格,pl/sql默认都先去除空格做比较,但是jdbc和ibatis中会以定长度比较,也就是 如果name='1',但是name是两个字符固定长度的,这时查询记录会为空, 查询时必须对name字段先去除空格,用 trim(name)='1'比较就能正常。 阅读全文
posted @ 2009-08-28 23:04 zhwj184 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 原因:首先,Linux环境下的JFreeChart和中文验证码的乱码问题和jsp的编码无关,是由于Java虚拟机找不到字体文件造成的,必须配置jdk下的中文字库文件环境:JDK1.5(JDK版本很重要,如果是1.4.2版本的话,JRE目录下的字体配置文件不大一样)RedHat4.0Tomcat5.5解决方法:1.确认%JavaHome%/jre/lib/fonts目录下存在zysong.ttf2.在%JavaHome%/jre/lib/fonts目录下执行"ttmkfdir -o fonts.dir"命令,重新生成fonts.dir文件3.确认/usr/share/font 阅读全文
posted @ 2009-08-28 22:32 zhwj184 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 每天遇到问题记录1.#变量名# 会转化为 jdbc 的 ?, 比如 select * from user where name=#name# 会转化为jdbc的 select * from user where name=?,把?参数设置为name的值,而$变量名$就直接把 $name$替换为 name的内容, 也就是由可能 select * from user where name=$name$ 如果name为 "' 'or 1 = 1", 那么这样就有可能导致sql注入,所以ibatis用#比$好,不会造成sql注入。2.ibatis中的参数传入的值参数 阅读全文
posted @ 2009-08-28 21:55 zhwj184 阅读(119) 评论(0) 推荐(0) 编辑