【Spring A.S】核心组件:SqlEngine使用手册:查询条件(一)

相信看完上一阶段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检索数据的匹配条件

==注意:使用这个方法会清空其他条件!因为selByIdsqlEngine中意味着唯一条件,不与其他条件共存!==

最后生成效果: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值对应)

  1. 0 - DESC 正常倒叙
  2. 1 - ASC ==根据拼音首字母正序==
  3. 2- DESC ==根据拼音首字母倒序==
  4. 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条件部分,我将在下一章节中为大家详解~

转载于:https://my.oschina.net/u/3692675/blog/3032233

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值