针对开源框架mybatis-plus的深入学习,在使用过程中针对insql和exsists(对应的not)进行简单的使用介绍:(前提是new QueryWrapper())
针对notInSql
notInSql(boolean condition, R column, String inValue); notInSql(R column, String inValue)
针对inSql
inSql(R column, String inValue) inSql(boolean condition, R column, String inValue)
eg:(new QueryWrapper<XXX>().inSql(id, "select id from id where id = 2"));
针对exists
exists(String existsSql) exists(boolean condition, String existsSql)
针对notExists
notExists(String notExistsSql) notExists(boolean condition, String notExistsSql)
eg:QueryWrapper<xxxx> qw = new QueryWrapper<>(); ("id","name").exists("select id from table where id= 2");
注:其中insql和exists中的sql语句可以动态拼接字符串就动态灵活了,eg: "select * from table where xxx in (" + value+")"类似这样的处理。
解决方案有问题,如果sql较为复杂建议使用xml直接操作,使用最开始的mybatis直接处理,(如where <if test=....></if> </where>等)