- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate对于数据库表的操作
首先,我们要对Hibernate在eclipse环境下进行布局配置。
详情请看 HYPERLINK Hibernate配置.doc Hibernate配置。
其次,我们了解几个查询的用法。
一、Criteria Query
Criteria Query通过面向对象化的设计,将数据查询条件封装为一个对象,换句话讲Criteria Query可以看作是传统SQL的对象化表示。如:
Criteria criteria = session.createCriteria(TUser.class);
criteria.add(Expression.eq(“name”,”Erica”));
criteria.add(Expression.eq(“sex”,new Integer(1)));
Criteria查询表达式
Criteria本身只是一个查询器,具体的查询条件需要通过Criteria.add方法添加到Criteria实例中。
如前面的例子所示,Expression对象具体描述了查询条件。针对SQL语法,Expression提供了对应的查询限定机制。
方 法
描 述
Expression.eq
对应SQL”field=value”表达式
如Expression.eq(“name”,”Erica”);
Expression.allEq
参数为一个Map对象,其中包含了多个属性-值对应关系。相当于多个Expression.eq关系的叠加。
Expression.gt
对应SQL”fieldvalue”表达式
Expression.ge
对应SQL”field=value”表达式
Expression.lt
对应SQL”fieldvalue”表达式
Expression.le
对应SQL”field=value”表达式
Expression.between
对应SQL”between”表达式
如下面的表达式表示年龄(age)位于13到50区间内,Expression.between(“age”,new Integer(13),new Integer(50));
Expression.like
对应SQL”field like value”表达式
Expression.in
对应SQL”field in …”表达式
Expression.eqProperty
用于比较两个属性之间的值,对应SQL中的”field=field”。如:
Expression.eqProperty(“TUser.groupID”,”TGrpup.id”);
Expression.gtProperty
用于比较两个属性之间的值,对应SQL”fieldfield”
Expression.geProperty
用于比较两个属性之间的值,对应SQL”field=field”
Expression.ltProperty
用于比较两个属性之间的值,对应SQL”fieldfield”
Expression.leProperty
用于比较两个属性之间的值,对应SQL”field=field”
Expression.and
and关系组合。如:
Expression.and(
Expression.eq(“name”,”Erica”),Expression.eq(“sex”,newInteger(1)));
Expression.or
or关系组合。如:
Expression.or(
Expression.eq(“name”,”Erica”),Expression.eq(“name”,”Emma”));
Expression.sql
作为补充,本方法提供了原生SQL语法的支持。我们可以通过这个方法直接通过SQL语句限定查询条件下面的代码返回所有名称以”Erica”启始的记录:
Expression.sql(“lower({alias}.name) like lower(?)”,”Erica%”,
Hibernate.STRING);
其中的”(alias)”将由Hibernate在运行期使用当前关联的POJO别名替换。
注意Expression各方法中的属性名参数(如Express.eq中的第一个参数),这里所谓属性名是POJO中对应实际库表字段的属性名(大小写敏感),而非库表中的实际字段名称。
几个查询示例:
查询名为“Erica”的用户记录:
Criteria criteria = session.createCriteria(TUser.class);
criteria.add(Expression.eq(“name”,”Erica”));
查询所有年龄大于18岁的用户记录:
Criteria criteri
您可能关注的文档
- first_class_推荐_第一节英语课_给学生讲上课要求和学习态度.ppt
- FISH技术在肿瘤病理诊断及肿瘤分子靶点治疗中的应用.ppt
- flash动画制作实践指导书.doc
- Flash个人主页毕业设计论文.doc
- Flash环保公益广告的设计与制作.doc
- FLASH入门技巧大全.doc
- Flash游戏开发流程.doc
- FLUENT动网格专题讨论.doc
- Fool愚人节的故事英语话剧剧本.doc
- FPC产品简介及设计规范.ppt
- 基本面选股组合月报:大模型AI选股组合本年超额收益达6.60.pdf
- 可转债打新系列:安集转债,高端半导体材料供应商.pdf
- 可转债打新系列:伟测转债,国内头部第三方IC测试企业.pdf
- 联想集团PC换机周期下的价值重估.pdf
- 计算机行业跟踪:关税升级,国产突围.pdf
- 科技类指数基金专题研究报告:详解AI产业链指数及基金布局.pdf
- 计算机行业研究:AIAgent产品持续发布,关税对板块业绩影响较小.pdf
- 民士达深度报告:国内芳纶纸龙头,把握变局期崛起机遇.pdf
- 社会服务行业动态:全球首张民用无人驾驶载人航空器运营合格证落地,霸王茶姬冲击美股IPO.pdf
- 通信行业研究:特朗普关税令落地,长期看好国产算力链.pdf
文档评论(0)