相信看完上一阶段sqlEngine概要的小伙伴已经开始摩拳擦掌了吧? 接下来,我们就要正式进入主题了!
select Condition:Part A
查询条件! 没错,查询是整个sql中复杂程度极高的一个部分,其==多变性==及==不稳定性==一直以来都在困扰着我们广大的后台同胞,当然,在Spring A.S前已经有jeesite前辈对这部分做出了一定优化,而作为后辈,根据前辈的理念,Spring A.S在操作上又做出了一定的简化,使其在使用时更加便捷易用。
*getSelTable(String tables):指定需要查询的数据源表名
==注意:在查询时,必须使用getSelTable指定需要查询的表名。== 多个表间用','隔开,如需连表,则外联表表名需要从==BaseTableCfg==(pdm代码生成器会自动生成相关代码,文件路径在utils目录下)获取==入参的第一个值为主表表名!==
示例:sel.getSelTable("A,B,C");
最后生成效果:select * from A left join B on a.id = b.id left join c on c.id = a.id
getSelById(String id):根据ID检索数据的匹配条件
==注意:使用这个方法会清空其他条件!因为selById在sqlEngine中意味着唯一条件,不与其他条件共存!==
最后生成效果:select * from a a WHERE 1=1 a.id = ?
getSelCols(String tables):指定获取需要查询的数据源表内全部字段
可以为空,默认为查询全部
select * from a
支持多表查询,多个表间用','隔开 如需连表,则外联表表名需要从==BaseTableCfg==中获取
示例:sel.getSelCols("A,B,C");
最后生成效果:select A.* ,B.* ,C.* from A left join B on a.id = b.id left join c on c.id = a.id
getSelCols(String tables,String cols):指定获取需要查询的数据源表内全部字段及指定自定义字段
可以为空,默认为查询全部
select * from a
支持多表查询,多个表间用','隔开 如需连表,则外联表表名需要从==BaseTableCfg==中获取 支持多字段查询,多个字段间用','隔开 查询字段时,其正确格式为A_B(表名_字段名) ==如tables为空,cols不为空则只查询cols配置的字段信息==
示例:sel.getSelCols("B,C","A_B");
最后生成效果:select A.B ,B.* ,C.* from A left join B on a.id = b.id left join c on c.id = a.id
getPage(Integer pageNo,Integer pageSize):分页
pageNo:当前查询第几页 pageSize:每页查询多少条
示例:sel.getPage(1,10);
最后生成效果:select * from A where 1=1 limit 0,10
getSort(String keys,String sortTypes):排序
keys:数据排序字段(支持多个,用','隔开) sortTypes:数据排序类型(支持多个,用','隔开,与keys值对应)
- 0 - DESC 正常倒叙
- 1 - ASC ==根据拼音首字母正序==
- 2- DESC ==根据拼音首字母倒序==
- 3- ASC 正常ASC
示例:sel.getSort(“a”,"1");
最后生成效果:select * from A where 1=1 order by a desc
getCount():统计数据总条数
==注意:使用这个方法会清空其他需要获取的展示字段== -:一般用于分页的total值返回
示例:sel.getCount();
最后生成效果:select COUNT(1) AS ALLSIZE from A where 1=1
对于更加复杂的where条件部分,我将在下一章节中为大家详解~