2008-05-14
XXXX
关键字: 应届生!
XXXX
评论
zhangsheng79
2008-05-14
yefeng 写道
zhangsheng79 写道
抛出异常的爱 写道
还有种东西叫
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
搂主说的是"a"+"b"拼string,不断产生string对象的问题,和sql怎么执行没关系吧
string 拼SQL ,本来就产生了2种问题
1.string对象问题,如果"+",不多的话,跟stringbuffer是差不多的,没有明显的性能问题的
2.SQL注入问题
拜托你仔细看lz的帖子了吗?人家已经说了连续20多行,还不多吗?其次,这样连续加也可以是ps的方式
kjhot
2008-05-14
王贵伟 写道
String s="XXX"+id
编译器自动优化成StringBuffer,不要老拿这个说事啦,真正有问题的是:
String s += "123";
if(e) {s += "456";}
这样分成多条语句append,可能有逻辑判断的情况。
Readonly
2008-05-14
StringBuffer??
您真的不知道PreparedStatment么?
偶看不能原谅的是楼主你自己吧...
您真的不知道PreparedStatment么?
偶看不能原谅的是楼主你自己吧...
javaxy
2008-05-14
求标准答案SQL到底怎么写?哈哈!
7thbyte
2008-05-14
一般情况下的简单"XX"+"XX"+"XX"在JDK5以后已经优化过了
但是跨循环的连加往往不能被编译器识别并优化。所有时候都用StringBuffer也无可厚非。
另外连加的致命问题是注入
但是跨循环的连加往往不能被编译器识别并优化。所有时候都用StringBuffer也无可厚非。
另外连加的致命问题是注入
colin4k
2008-05-14
刑天战士 写道
我貌似反编译过,然后发现就是那种StringBuilder的形式,我手头没有jdk 5.0,谁试一下
嗯,是这样的
yefeng
2008-05-14
zhangsheng79 写道
抛出异常的爱 写道
还有种东西叫
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
搂主说的是"a"+"b"拼string,不断产生string对象的问题,和sql怎么执行没关系吧
string 拼SQL ,本来就产生了2种问题
1.string对象问题,如果"+",不多的话,跟stringbuffer是差不多的,没有明显的性能问题的
2.SQL注入问题
zhangsheng79
2008-05-14
抛出异常的爱 写道
还有种东西叫
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
搂主说的是"a"+"b"拼string,不断产生string对象的问题,和sql怎么执行没关系吧
Feiing
2008-05-14
投了精华 以示后人 恩恩
刑天战士
2008-05-14
我貌似反编译过,然后发现就是那种StringBuilder的形式,我手头没有jdk 5.0,谁试一下
colin4k
2008-05-14
刑天战士 写道
我记得5.0里面好像能自动完成String+String的优化,用StringBuilder,可能我记错了,我1年多没用java了……
自动完成String+String的优化和StringBuilder是两回事
upheart
2008-05-14
有些“高手”总是喜欢拿性能说事儿……new StringBuffer("select * from user where user_id=").append("'").append(userId).append("'")……呵呵
刑天战士
2008-05-14
我记得5.0里面好像能自动完成String+String的优化,用StringBuilder,可能我记错了,我1年多没用java了……
Feiing
2008-05-14
我们能否原谅做企业应用的人居然不知道不能拼 sql 是因为 sql injection, 而不是所谓 String + String 的性能问题 ?
我很理解 lz 这些人 ,尤其那些小公司,没有入职培训,没有比较系统的接受指导,直接进入开发,他们的代码思维还是在书本和老师那里学的,所以会出现这么弱的失误。这也是为什么象华为,东软这些大公司出来的人一般的公司比较喜欢,因为他们正式工作多会有3个月左右的系统培训,会改掉他们很多书本毛病。
引用
我很理解 lz 这些人 ,尤其那些小公司,没有入职培训,没有比较系统的接受指导,直接进入开发,他们的代码思维还是在书本和老师那里学的,所以会出现这么弱的失误。这也是为什么象华为,东软这些大公司出来的人一般的公司比较喜欢,因为他们正式工作多会有3个月左右的系统培训,会改掉他们很多书本毛病。
gigix
2008-05-14
抛出异常的爱 写道
还有种东西叫
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
或者这个
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM Users WHERE name = ?");
pstmt.setString(1, "bad_user'; UPDATE EMPLOYEES SET SALARY = 1000000;");
抛出异常的爱
2008-05-14
还有种东西叫
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
gigix
2008-05-14
王贵伟 写道
我在刚开发的时候所有的SQL都是用的String拼写,因为书上就那么教的,老师也是这么教的,后来看到同事的代码才知道StringBuffer,其实在很多小公司还在用String写SQL。
那个…有种东西叫prepared statement,是可以防御SQL注入的…拼String的问题并不是性能问题…
- 浏览: 16346 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
OA和ERP的区别
这完全是两个不同的方向!
-- by yangdefeng95802 -
实现梦想的才是最好的
引用~~~~庄子说:有一种活法叫做逍遥游!支持oo~~说得不错~~平淡简单的生活 ...
-- by joyandpaul -
实现梦想的才是最好的
@happycookie引用这个确实可是梦想在哪里?呵呵,梦想就是:你想要的生活 ...
-- by joyandpaul -
说几个自己知道的公司情况
.....
-- by mliz -
说几个自己知道的公司情况
acgzhang 写道@王贵伟 引用3.华美汉盛(ACG): 我老婆的公司,公司 ...
-- by lynn.wong






评论排行榜