关于JAVA下的SQL语句

来源:2-4 JDBC实战---搭建模型层 Ⅱ

九天哟

2016-09-10 09:34

什么情况下需要用预编译的SQL语句,preparsStatement(sql);

什么情况下用createStatement()语句?

写回答 关注

2回答

  • 慕粉3750485
    2016-09-10 22:31:13
    已采纳

    两种都可以,只不过一般都使用预编译sql,可以提高访问数据库的效率,其次提高代码的可读性和可维护性。

    九天哟

    非常感谢!

    2016-09-11 15:02:24

    共 1 条回复 >

  • qq_春无力_03346826
    2016-09-28 18:23:35

    什么都不要想,需要用就直接preparedstatement,1安全有效防止SQL恶意语句 2效率高 3代码整洁可读性 4可维护性 

    举个例子"SELECT * FROM users WHERE name = 'dsadsfsfwe' OR '1'='1' and pw = 'd1s2qw1as2d' OR '1'='1';"  因为1=1,所以这个SQL语句恒为可执行,所以你用户名密码不写也能登陆网站,这叫SQL恶意攻击,要是黑客良心更不好,直接"SELECT * FROM users WHERE name = 'any_value' and pw = ''; DROP TABLE users"。那恭喜你,你的users表就会被人删了。

    九天哟

    好的好的谢谢啦,现在在用QueryRunner

    2016-09-28 21:09:07

    共 1 条回复 >

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99324 学习 · 856 问题

查看课程

相似问题