之前的项目一直都是把SQL语句写XML文件里,要判断字段是否为空,直接这样写就好:
<if test="XXX!=null"> and XXX LIKE CONCAT("%",#{XXX},"%") </if>
但是这个项目要在dao直接写sql语句,只能现学现用了。
首先要在类上添加一个为@Mapper的注释,然后就可以直接在方法上加入注释@Select写sql语句了,平常可以这样写:
@Select("SELECT * FROM sys_role WHERE roleid = #{roleid}")
public abstract SysRole fingByRoleid(Integer roleid);
但是如果需要用到if判断字段是否为空的话,就需要加上:<when test='XXX!=null'></when>
了,比如:
@Select("<script>"
+ "SELECT * FROM sys_role WHERE 1=1"
+ "<when test='rolename!=null'>"
+ "AND rolename LIKE CONCAT('%',#{rolename},'%')"
+ "</when>"
+ "</script>")
public abstract List<SysRole> fingByRolename(String rolename);
作为一个刚刚入行的小白,还请各位大佬多多指正,小弟多谢了