hibernate criteria实现sql语句定制

hibernate criteria实现sql语句定制

ID:11841600

大小:590.00 KB

页数:12页

时间:2018-07-14

hibernate criteria实现sql语句定制_第1页
hibernate criteria实现sql语句定制_第2页
hibernate criteria实现sql语句定制_第3页
hibernate criteria实现sql语句定制_第4页
hibernate criteria实现sql语句定制_第5页
资源描述:

《hibernate criteria实现sql语句定制》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、HibernateCriteria对象详解1.序言Hibernate框架是目前JavaEE软件开发的企业主流框架,学习Hibernate必然要掌握ORM(对象关系映射Object/RelationMapping)的概念思想,Hibernate拥有完全的ORM理念,我们在操作数据库时,可以通过面向对象的方式就可以完成数据库的CRUD(创建(Create)、更新(Update)、读取(Read)和删除(Delete))操作。企业在使用Hibernate进行软件开发进行数据查询时,主要基于HQL(Hibernate面向对象的查询语言,语法类似SQL)、Criteria(面向对象的条件查询对象

2、)、SQL(原生态SQL语句)几种方式,本文重点讲解Criteria这种完全面向对象编程查询方式,详细分析Crieria各种使用与SQL生成关系。2.Criteria牛刀小试Criteria是一个完全面向对象,可扩展的条件查询API,通过它完全不需要考虑数据库底层如何实现、SQL语句如何编写,是Hibernate框架的核心查询对象。Hibernate定义了CriteriaSpecification接口规范用来完成面向对象的条件查询,Criteria就是CriteriaSpecification的子接口。2.1.创建数据库环境我们以部门(Department)和员工(Employee)案

3、例,来讲解Criteria的详细使用部门表department使用mysql5.x数据库数据库hibernate3用户名root密码abc部门表employeeCREATETABLE`department`(`id`int(11)NOTNULLauto_increment,`name`varchar(255)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;员工表departmentCREATETABLE`employee`(`id`int(11)NOTNULLauto_increment,`name`varch

4、ar(255)defaultNULL,`age`int(11)NOTNULL,`birthday`datedefaultNULL,`department_id`int(11)defaultNULL,PRIMARYKEY(`id`),FOREIGNKEY(`department_id`)REFERENCES`department`(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;1.1.使用JPA注解配置实体类部门类Department员工类Employee1.1.使用Crteria查询所有部门和所有员工1.1.1.查询所有部门产生的SQL语句1.1.2.查

5、询所有员工产生的SQL语句当session.createCriteria(实体类.class)就会产生一条select所有列from表;SQL语句,查询实体类对应数据表的所有记录,然后我们就可以在这个Criteria对象上进行条件查询、分页查询、多表关联查询、投影查询、子查询等一系列操作...1.CriteriaSQL定制详解1.1.对查询添加条件对象Criterionorg.hibernate.criterion.Criterion是Hibernate提供的一个面向对象查询条件接口,一个单独的查询就是Criterion接口的一个实例,用于限制Criteria对象的查询,在Hibern

6、ate中Criterion对象的创建通常是通过Restrictions工厂类完成的。Restrictions提供条件查询方法例如:1、查询姓”张”的所有员工信息产生的SQL语句2、查询年龄大于24的所有员工产生的SQL语句3、查询年龄小于28的姓“王”的员工产生的SQL语句对于多个查询条件,Restrictions提供了逻辑组合查询方法and(Criterionlhs,Criterionrhs)用于生成多个条件and关系SQL语句or(Criterionlhs,Criterionrhs)用于生成多个条件or关系SQL语句not(Criterionexpression)用于查询与条件相反

7、的数据,生成not取反查询语句1.1.分页操作firstResult和maxResultsCriteria接口提供用于分页查询的方法,实现数据库SQL物理级别的分页操作setFirstResult(intfirstResult)设置记录的其实位置0代表第一条记录setMaxResults(intmaxResults)设置查询记录的长度例如:我要查询1-10条件记录firstResult为0,maxResult为10产生的SQL语句1.1.排序操

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。