com.apache.dc.query.Query所属包名apache-common-sid.jar

首先这个类是基于HQL的,好多方法里面要传String clzz, 刚开始我真不知道这个参数传什么,后来看别人的代码才知道

要填 Entity.class.getName() 当然了这是一个字符串,你当然也可以直接拼好,"cn.angelshelter.utils.User"

并不推荐用手动拼好的字符串,因为一旦你拼错了,它方法里面的检查机制就会发现找不到这个类,然后

就报空指针错误,这个也只有在运行时才暴露出来,隐蔽性很强,如果用 User.class.getName()就没有这个问题了。

queryMapWithoutSelect(Map<String, Object> map, String clzz) 根据Map里面的条件参数去查找数据。

组装成的HQL例子: from cn.angelshelter.utils.User t where 1=1 and t.userid= 'value'

(它这里设计得不错,如果Map里有存在的字段,它会自动过滤掉,这样就不容易出错,但不过好像

不太容易排查问题了,你可能拼错一个字段,最后它没生效,它也没报错,你以为它生效了,因为程序员的

直觉,只是不报错,我的程序就是ok,这个潜在的bug发现任务可能就交给测试员了,呵呵,如果测试员也马虎的

话,那这个bug就一直隐藏在那里了,随时都有可能爆发的哦,好危险的感觉)

sort(String fieldName, boolean isAsc) 排序
这里没对非法字段名过滤。

select()  只是在HQL里面append了一个select

Query.update(String clzz) 更新
组装成的HQL例子: update cn.angelshelter.utils.User

Query.clzz(String className) 产生一个表的查询语句
组装成的HQL例子: from cn.angelshelter.utils.User t

set(Map<String, String> param) 在现有的HQL的基础上append "set xxx=xxx , xxx=xxx"

组装成的HQL例子:set userid3='value' , userid='value'

queryMapFullJoinWher(Map<String, Object> map, String clzz) 也是条件查询,不过它用了一个Map

组装成的HQL例子: select new map( t.name as name , t.pwd as pwd , t.userid as userid ) from cn.angelshelter.utils.User t where 1=1 and t.pwd= 'value' and t.userid= 'value'

queryMapFullJoinWhereForSql(Map<String, String> fields, Map<String, Object> map, String clzz) 第一个参数,控制字段,第一个参数,控制条件

组装成的HQL例子:select t.userid as userid from t_CdnSwitchover t where 1=1 and t.userid= 'value'

fullJoinWhere(String clzz) 全查询

组装成的HQL例子:select new map( t.name as name , t.pwd as pwd , t.userid as userid ) from cn.angelshelter.utils.User t where 1=1

fullJoinWhereForSql(Map<String, String> fieldNames, String clzz) 第一个参数控制字段

select t.pwd as pwd , t.userid as userid from t_CdnSwitchover t where 1=1

where()

组装成的HQL例子:where 1=1

.leftBracket()
HQL末尾追加 (

rightBracket();

HQL末尾追加 )

and();
HQL末尾追加 and

count()
注意,它本身不改变HQL,而是以返回字符串的形式select count(*) ...

toHql()
返回HQL

or()

HQL末尾追加 or

eq(String fieldName, String value)  等于
组装成的HQL例子: t.ff= 'dfdf'

eqNumber(String fieldName, String value) 名不符实
组装成的HQL例子:t.dfd= '55'

eqNumber(String fieldName, String value) 没啥用,还不如直接用eq
组装成的HQL例子:t.dfd= 'dfd'

period(Period period)  设置时间区间

Period period = new Period();
period.setBegin(new Date());
period.setEnd(new Date());
period.setKeyField("userid");
query.period(period);

组装成的HQL例子:t.userid>='2016-03-05 22:38:06' and  t.userid<='2016-03-05 22:38:07'

periodForSql(Period period) 感觉没有什么不同

ne(String fieldName, String value) 不等于

组装成的HQL例子:t.dd<> 'dfd'

lt(String fieldName, String value) 小于
组装成的HQL例子:t.fieldName< 'value'

le(String fieldName, String value) 小于或等于
组装成的HQL例子:t.fieldName<= 'value'

gt(String fieldName, String value) 小于
组装成的HQL例子:t.fieldName> 'value'

ge(String fieldName, String value) 大于或等于

组装成的HQL例子:t.fieldName>= 'value'

bw(String fieldName, String value) 包含

组装成的HQL例子:t.fieldName like '%value%'

in(String fieldName, String value) 在里面
组装成的HQL例子:t.fieldName in ( 'dfd,ll' )

in(String fieldName, Integer... values) 在里面
组装成的HQL例子:t.fieldName in (12,56 )

in(String fieldName, Long... values) 在里面

in(String fieldName, String... values)  在里面

ni(String fieldName, String value) 不在里面
组装成的HQL例子:t.fieldName not in ( 'd' )

isnull(String fieldName) 为空
组装成的HQL例子:t.fieldName is null

isnotnull(String fieldName) 不为空
组装成的HQL例子:t.fieldName is not null

orderBy() HQL append " order by "

forupdate() HQL append " for update"

limitOne()
组装成的HQL例子:limit 0,1

limit(int m, int n)
组装成的HQL例子:limit m,n

queryMap(Map<String, String> map, String clzz) 不知道是不是一个bug
select from cn.angelshelter.utils.User t where 1=1 and t.pwde= 'null' and t.userid= 'null' value部分都显示为Null

queryForMap(Map<String, Object> map, String clzz) 增加参询条件
组装成的HQL例子:and t.userid= 'value'

deleteMapWithoutSelect(Map<String, Object> map, String clzz) 条件删除
delete from cn.angelshelter.utils.User t where 1=1 and t.userid= 'value'

queryMapWithoutSelect(Map<String, Object> map, String clzz)

from cn.angelshelter.utils.User t where 1=1 and t.userid= 'value'

搞到最后,发现没有手动设置HQL的方法。。。

最后说一个最复杂的方法,不过感觉也没什么实用的价值。

Query.queryRelateClass(String clzz, String subClass)  联表查询

@WsTitle(isRelate=true, rlClass="cn.angelshelter.utils.Address", rlFieldCode="id")
private int ck;

你需要在User里面配好参数,包括这个字段是否关联,关联的类,以及关联类的哪个属性。

select a from cn.angelshelter.utils.Address a ,cn.angelshelter.utils.User t where t.ck = a.id

com.apache.dc.query.Query所属包名apache-common-sid.jar的更多相关文章

  1. 23.包、修饰符、jar

    下面都是在记事本里面写代码 1. 包的定义格式: package 包名(全小写)  例如: package a; 注意: 1)package语句必须位于java文件的第一个语句 2.编译运行 注意: ...

  2. 监听Google Player下载并获取包名等信息

    一.解决思路 通过监听ContentObserver监听下载路径content://downloads 二.具体步骤 1 设置监听器 context.getContentResolver() .reg ...

  3. 烂泥:Linux源码包制作RPM包之Apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...

  4. 如何用Android Studio打多包名APK

    问题:项目中不同的分发渠道可能需要打包多种APK(同样的代码),包名可能是不一样的,如果一个一个修改包名重新编apk是很麻烦,可以参考下列步骤在Android Studio上操纵Gradle来打包不同 ...

  5. 如何判断是否为同一个App,Ionic3如何修改包名

    如何判断是否同一个App 使用Ionic3创建了两个项目demo1.demo2,然后使用同一个JDK,生成了两个不同的keystore证书. 结果在手机端安装的时候,先安装demo1,没有任何替换的提 ...

  6. Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.******.seashell.bpc.query.query.service.FscBankPayCodeQueryService

    2019-03-19 16:22:14,945 WARN [main] (org.springframework.context.support.AbstractApplicationContext. ...

  7. war包部署到服务器后,如何直接访问,而不需要在地址后面加war包名

    正常情况下,但我们把war部署到服务器上,访问地址是:服务器ID:端口/war包名 但是如果个人建站显然不适合以此方式. 方式一:修改服务器Tomcat的server.xml配置 注意:你的报名如果是 ...

  8. jar包中存在包名和类名都相同的情况

    情况: 在maven中引入两个包都有项目的包名和类名,只是jar包的名字不同.两个包的一部分在代码中的不同地方都需要用到. 网上找的大部分都是: 只有改变编译器优先选择的jar顺序(这个顺序是可以改变 ...

  9. MAC OS X El CAPITAN 搭建SPRING MVC (1)- 目录、包名、创建web.xml

    一. 下载STS(Spring Tool Suite) 官方地址:http://spring.io/tools/sts 下载spring tool suite for mac 最新版本.这个IDE是很 ...

随机推荐

  1. Apache + PHP 环境搭建

    环境: Win7 64位 php-5.6.19-Win32-VC11-x64 httpd-2.4.18-win64-VC11 下载地址: php:  http://windows.php.net/do ...

  2. Paxos一致性算法

    分布式系统的整体思路:协调者与参与者 分布式系统中,每个节点可以知道自己在事务操作过程中是成功还是失败,但无法获取其他节点的操作结果,所以就不知道这个事务是否在所有机器上全都执行成功,所以需要引入一个 ...

  3. 堆外内存操作类ByteBuffer

    本篇主要讲解如何使用直接内存(堆外内存),并按照下面的步骤进行说明: 1 相关背景-->读写操作-->关键属性-->读写实践-->扩展-->参考说明 希望对想使用直接内存 ...

  4. Django views 中 View decorators

    decorators(装饰器) 1. require_http_methods 在django.views.decorators.http中,可以用来限制请求的权限. require_http_met ...

  5. hbase运行shell时ERROR:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 的解决办法

    这个问题困扰了我一天多的时间,百度搜索的前几条的答案也是很扯淡的,说什么把/etc/hosts文件下的127.0.1.1改成127.0.0.1就行了,我也只能呵呵了.今天早上起得很晚,中午迪哥请我们去 ...

  6. NOIP2012 同余方程-拓展欧几里得

    题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行,包含一个正 ...

  7. MSsql 服务器之间远程及其链接查询

    先指定端口1433(SQL,协议里面设置) 然后启用 菜单-程序-外围服务应用配置-服务和连接时外围应用配置 试试远程连接 成功连接OK 下面示例链接服务器.上面远程是必须走的一步动作. --创建链接 ...

  8. Linux下grep命令

    2.grep命令 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本 ...

  9. MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

    有二三年没写代码了,**内的工作就是这样,容易废人!看到园子里这么多大侠朝气蓬勃的,我想也要学点东西并和大家分享,共同进步!快乐每一天,进步每一天!言归正传! 通过最近一段时间对MVC5.EF6的学习 ...

  10. 转:Delphi各种Socket组件的模式和模型

    Delphi的大多数书籍里面都没有提到delphi的各种socket通信组件的模式和模型,有的书只讲解了windows的socket模式和模型,并没有归纳各种组件采用的模型,所以我们的程序员并不知道如 ...