Jfinal数据库操作语句中占位符的使用

Posted Junsept

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jfinal数据库操作语句中占位符的使用相关的知识,希望对你有一定的参考价值。

占位符的优点:

1.增加SQL代码可读性

2.占位符可以预先编译,提高执行效率

3.防止SQL注入

4.用占位符的目的是绑定变量,这样可以减少数据SQL的硬解析,所以执行效率会提高不少

假设要将id从1到10000的员工的工资都更新为150.00元,
不使用绑定变量:
sql.executeQuery("UPDATE employees SET salay = 150.00 WHERE id = 1");
sql.executeQuery("UPDATE employees SET salay = 150.00 WHERE id = 2");
sql.executeQuery("UPDATE employees SET salay = 150.00 WHERE id = 3");
sql.executeQuery("UPDATE employees SET salay = 150.00 WHERE id = 4");
....
sql.executeQuery("UPDATE employees SET salay = 150.00 WHERE id = 10000");

使用绑定变量:
UPDATE employees SET salay = ? WHERE id = ?"

二者区别在于,不用绑定变量,则相当于反复解析、执行了1w个sql语句。使用绑定变量,解析sql语句只用了一次,之后的9999次复用第一次生成的执行计划。显然,后者效率会更高一些。

以上是关于Jfinal数据库操作语句中占位符的使用的主要内容,如果未能解决你的问题,请参考以下文章

更改占位符的 css 属性

使用带占位符的 LIKE 准备语句 [重复]

Lua中string.format占位符的使用

jfinal中动态sql是一般是怎么使用的

OTL翻译 -- otl_stream类

对trace/debug/info级别的日志输出必须使用条件输出形式或者使用占位符的方式