EXP:
List<Wgab07Ab01ResDTO> wgab07Ab01ResDTOS = steadyDoUnemployDAO.rollbackWgab07HaveAab001(paramsSteadyDTO);
if(CollectionUtils.isEmpty(wgab07Ab01ResDTOS) && wgab07Ab01ResDTOS.size()==0){
throw new BusinessException("没有符合条件的应付核定记录!");
}
}
① Long key = commonBLO.getSeq("seq_a_operation");
② islInfoDao.getSequence("SEQ_A_OPERATION")
将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。
如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111",
如果传入的值是id,则解析成的sql为order by "id".
$将传入的数据直接显示生成在sql中。
如:order by $user_id 如果传入的值是111,那么解析成sql时的值为order by user_id,
如果传入的值是id,则解析成的sql为order by id.
可以防止SQL注入,$不可以
注意:SQL语句不要写成select * from t_stu where s_name like '%name%',这样极易受到注入攻击。
{}
如果不能避免使用${},需要做好过滤工作避免sql注入
if (!StringUtil.isEmpty(this.companyName)) {
table.setCompanyName("%" + this.companyName + "%");
}
<sql id="condition_where">
<isNotEmpty property="companyName" prepend=" and ">
t1.company_name like #companyName#
</isNotEmpty>
</sql>
String aae011 = super.getOperatorName();
String aab034 = super.getUnitCode();