-
//返回list集合 String hql = “select new list(s.name,s.tel,s.address)from Seller s”; Query query = session.createQuery(hql); List<List> list = query.list(); for(List list:lists){ list.get(0)//name信息 list.get(1)//tel信息 list.get(2)//address的信息 } PS:习惯那种或者那种有需求就用哪种 list和object、map没什么区别查看全部
-
from子句中持久化类的引用: 1、不需要引入持久化类的全限定名(如from com.imooc.model.Seller),直接引入类名(from Seller)即可 2、我们知道在java环境中一定要指明全限定名,这样java环境才知道去获取这个类,而HQL语句中之所以可以省略,是因为auto-import自动引入缺省情况。hibernate框架中,在解析HQL语句时,会根据映射配置信息自动完成持久化类的导入,这样的方式更加方便,也更加符合程序员的编程习惯。 3、在from子句中全限定名的引用与直接引入类名是一样,并不会报错!查看全部
-
from子句是HQL语句的最简形式 from指定了HQL语句查询主体-持久化类及其属性 当编写的HQL中只有from子句,默认Hibernate框架会查询该持久化类的所有实例以及属性. from也可以实现一个与其他表有关联的表的查询.(不是多表查询,属于单表) 即A类中存在一个B类类型的变量,并且用到此B类对象,那么通过from直接获取A类的持久化对象时,同时也能获取到此A类持久化对象所包含的B类的持久化对象信息. 因为Hibernate在查询到A类持久化对象的时候后,会立刻根据外键查询此A类持久化对象所包含的B类的持久化对象信息. (如果用到此B类的持久化对象的话,Hibernate才会立刻根据外键去查询此A类持久化对象所包含的B类的持久化对象信息,如果没有用到,那么Hibernate不会根据外键去查询此B类的持久化对象信息)查看全部
-
初学HQL注意的问题 1、HQL是面向对象的查询语言,其查询主体是持久化类及其属性,而SQL查询主体是数据库表与表的字段;HQL对Java【类与属性大小写敏感】,SQL语句对大小写不敏感; 2、HQL与SQL在形式上非常相似,特别是HQL在设计上尽量符合之前SQL开发人员的开发习惯,在使用上非常容易与SQL混淆,但是我们不能被表象所迷惑,要认清本质; 3、HQL对【关键字不区分大小写】,比如之前提到的几个SQL子句其中的关键字,from,where,group by,having,order by...等,只要拼写正确,大小写并不重要,但是为了代码的可读性与美观性,习惯上对HQL的所有关键字小写查看全部
-
主配置文件内容查看全部
-
teardown美 ['terˌdoʊwn]n.拆卸 @Test public void testSelectClauseSelf(){ String hql = " select new Seller(s.name,s.tel,s.address) from Seller s "; Query query = session.createQuery(hql); List<Seller> sellers = query.list(); for(Seller seller : sellers){ System.out.println("name: "+seller.getName()); System.out.println("tel:"+seller.getTel()); System.out.println("address:"+seller.getAddress()); } }查看全部
-
hql中查询一个字段 返回的是List<Object>对象,查询多个字段返回的是List<Object[]>,查询所有字段返回的是List<实体类>对象,建议多使用别名来区分不同表中的相同字段 String hql="select s.name,s.tel,s.address,s.star from Seller s "; Query query=session.createQuery(hql); List<Object[]> list=query.list(); for (Object[] objects : list) { System.out.println(" name : "+objects[0]); System.out.println(" tel : "+objects[1]); System.out.println(" address : "+objects[2]); System.out.println(" star : "+objects[3]); System.out.println(""); }查看全部
-
select子句:用来指定查询结果中的对象和属性,并指定以何种数据类型返回 (在最前面) from子句:用来指定hql语句的查询目标,即映射配置的持久化类及其属性 where子句:逻辑表达式,用来设置查询条件,限制返回结果和范围 group by子句:分组查询语句 having子句:对分组进行限制条件设置 order by子句:用来指定查询结果中的实例对象的排序 注:From子句在HQL语句中不可或缺的组成部分,一个最简单的HQL语句形式只要有from就可以了,其他的子句都可以省略,这点与SQL语句不同查看全部
-
HQL定义: 1、HQL:Hibernate Query Lauguage,Hibernate查询语言; 2、HQL是面向对象的查询语言(即以面向对象的角度进行查询),它查询的主体是映射配置的持久化类及其属性,与SQL查询主体是数据库表是完全不同的,除此之外,从数据库查询方面的功能上来讲,SQL能实现的数据库查询功能,HQL几乎可以同样实现。实际上作为一个ORM对象关系映射框架,Hibernate框架会将编写好的HQL语句解析成SQL语句来完成最终的数据库查询操作。 3、HQL提供了丰富灵活的查询特性,是Hibernate官方推荐查询方式。查看全部
-
hibernate Query接口查看全部
-
课程总结:查看全部
-
order by子句: 1.升序排序 asc(默认) 2.降序排序 desc 代码测试:多个排序条件。从左到右知行。 与SQL的不同点。sql语句需要将排序的 列名 用select选中,而HQL不用。查看全部
-
查询单个对象: 使用uniqueResult需要在where保证只有一个返回结果 如果有多个 则会返回异常查看全部
-
四则运算 1.HQL语句中也可以使用 + - * / 四则运算 2.四则运算可以在where子句和select子句中使用查看全部
-
逻辑运算符 1.and(逻辑与)、or(逻辑或) 2.not(逻辑非)查看全部
举报
0/150
提交
取消