SSH动态查询封装接口介绍
SSH动态查询封装接口介绍
1.查询记录总条数
public int count(Class c,Object[][] eq,Object[][] like,String[] group,String[] asc,String[] desc);
2.分页动态查询记录
public List<?> search(Class c,Object[][] eq,Object[][] like,String[] group,String[] asc,String[] desc,int start, int limit);
首先介绍两个查询接口的公有参数:
Class c : bean.class,即映射到你查询的表结构的实体类
Object[][] eq : 精确查询的参数name和value集合
{{name,”小明”},{code,”TB321”},...}
Object[][] like :模糊查询的参数name和value集合
{{startTime,”2013-10”},{name,”小”},...}
String[] group :要分组的参数name列表
String[] asc :对查询结果升序排列所需的参数name集合
String[] desc :对查询结果降序排列所需的参数name集合
这里提到的name非数据库字段名,而是bean的属性名,当然如果存在表关联,
以用户和职位为例,User 和 Dept关联,存在Dept dept;
则如果要查询职位名为xxx的所有User,name可填写为 dept.name,eq某一集合可填写为{”dept.name”,”xxx”}
分页动态查询记录独有的接口参数:
int start :从第几条记录开始查询
int limit :本页查询的最大记录数
参数列表除Class c不可为空外,其余参数皆可为空。对集合参数中的不法数据(子集合填写不完整、参数为null or “”实现自动过滤)
根据你的不同需求使用接口相应参数,以合同表为例:
精确查询:根据合同编号、合同名称、客户代表等精确信息实现查询
模糊查询:根据合同签订、生效、失效、制表年、月、日等模糊时间,部分合同名称等不精确参数实现查询
组合查询:根据页面需求在action获取相应参数(页面参数统一使用String接收,避免int出现默认为0的情况发生。在action使用Object对所获value进行统一类型设置),根据不同的参数进行单个、多个条件的组合查询。
意义:简化代码,所有类(表结构)的查询都可组合使用这两个接口。
便于维护,一旦查询需求有改动,只需更改页面参数和action接收参数即可
不足:未实现比较范围(> = < between and)的查找(可按需实现)。以及对一些参数(数量总计、平均值)的特殊查找,此类查询非公有故弃之.
下一章介绍接口的具体实现
相关文章
- ssh后门反向代理实现内网穿透
- Mac下,使用sshpass让iterm2支持多ssh登录信息保存
- Linux SSH登录慢案例分析
- ubuntu开启ssh服务
- 在centos7开启SSH服务
- 带分页功能的SSH整合,DAO层经典封装
- SSH使用ssh-keygen远程登录主机免输入密码
- SSH框架整合
- Atitit.远程文件技术 webdav ftp scp ssh-sftp http nfs smb 的区别与总结
- ssh的tunnel设置+autossh设置
- SSH证书登录方式(无password验证登录)
- 中职网络安全技能大赛SSH弱口令渗透测试解析
- windows10 1709 wsl ubuntu ssh 报错
- iTerm2 ssh 记住密码
- SSH三作品的框架和流程
- VScode Remote-SSH远程编辑和调试Linux文件代码
- 华为交换机SSH和telnet登录配置