TCSF框架为了快速开发,提供了动态查询功能,在页面上配置查询参数为search_EQS_name=张三即可查询姓名为张三的记录。
实际上,TCSF是通过request.getParameterMap()将获取到的参数map转换为Mybatis的Example对象,这个过程在DynamicQueryUtil进行了实现,开发者只需要调用其中的convert方法,传递map和example参数即可得到经过转换的example对象。
注意如果example需要添加额外的条件要在convert前进行。
接下来讲解动态查询参数名称的命名规则:
search_运算符 + 数据类型_实体字段名称=取值
动态查询中支持了 String => S,Integer => I,Long => L,Double => N,Date => D,Boolean => B,String[] => AS,Integer[] => AI,Long[] => AL,Double[] => AN,Date[] => AD,Boolean[] => AB 共十二种数据类型。
支持 EQ(等于)、NEQ(不等于)、GT(大于)、GTE(大于等于)、LT(小于)、LTE(小于等于)、LIKE(相似)、LLIKE(左边相似)、RLIKE(右边相似)、IN(包含)、NIN(不包含) 十一种运算符。
当一次查询存在多个条件时,这些条件是and运算,暂时不支持or运算。