先看xml的代码在根据sql来理解下面要说的:
1 持久层接口:
int dynaUpdate(@Param("updateinfo") String updateinfo, @Param("whereinfo") String whereinfo);
2 mapper.xml文件:
<update id="dynaUpdate" statementType="STATEMENT">
update sys_user set ${updateinfo}
<if test="whereinfo != null and whereinfo != ''">
where ${whereinfo}
</if>
</update>
1.知识早知道
1.1 statementType:STATEMENT(非预编译),PREPARED(预编译)或CALLABLE中的任意一个,这就告诉 MyBatis 分别使用Statement,PreparedStatement或者CallableStatement。默认:PREPARED。这里显然不能使用预编译,要改成非预编译。将传入的数据直接显示生成在sql中,对于字符串数据,需要手动加上引号
比如:
String dateStr = DateFormatUtils.format(date.getTime(), "yyyy-MM-dd HH:mm:ss");
dateStr =