在使用KaTeX parse error: Expected 'EOF', got '#' at position 11: 符号时,先补充说一下#̲{}和{}符号的区别
1.#{} 是以预编译的形式,直接将参数设置到sql语句中; 使用PreparedStatement的sql封装方法:设置了占位符为"?",可以有效地防止sql注入.
2.取出的参数值会直接封装在sql语句中,不能防止sql注入,会有安全问题.
- 本文中,介绍使用$符号取常量的原因是,既然是常量,就是固定不变,无安全隐患的数据。
例如查询有效学生的一条sql语句,其中status 为0 表示为有效,我们的sql可能如下所示:
select * from t_student where status = 0;
这么写,可能有点硬编码的意思,同时也容易出错,
我们可以定义一个枚举类,类里定义一个状态值,采用应用的方式进行操作。如下:
select * from t_student where status = ${@com.haoeasy.common.enums.DeletedEnum@NORMAL.code};