MyBatis中动态组合拼接sql
- 这里主要是对类型做非空
@Select("<script> SELECT * from table t" +
" INNER JOIN table1 t1 on t1.userId = t.userId " +
" INNER JOIN table2 t2 on t2.userId = t.userId " +
" INNER JOIN table3 t3 on t3.userId = t.userId WHERE t.isdelete = 0 "
+ " <if test=\"tname != null and '' != tname\"> and t.tname = #{tname} </if> "
+ " <if test=\"gender != null and '' != gender\"> and t1.gender = #{gender} </if> "
+ " <if test=\"address != null and '' != address\"> and t2.address = #{address} </if> "
+ " </script>")
List<TbUserVO> queryUserInfo(String tname, String gender, String address);