-
课程总结 一、HQL语句形式 二、HQL语句大小写敏感,特别是持久化类及其属性的大小写 三、别名的使用 四、select子句使用自定义类返回选择属性,持久化类构造器处理(一定要添加默认构造器)查看全部
-
order by子句: 1.升序排序 asc(默认) 2.降序排序 desc 多个排序规则用“,”隔开;表示前一个规则中排序条件相同则用后一个排序规则 String hql="from Commodity c order by c.name asc,c.price desc";查看全部
-
限制—where子句 一、比较运算 1. = ,<> ,< ,> ,>= ,<= 2.null值判断—is [not] null = null <=> is null <> null <=> is not null 二、范围运算 1.[not] in (列表) 2.[not] between 值1 and 值2 三、字符串模式匹配 1.like 关键字 2.通配符:% 匹配任意个字符,_ 匹配一个字符 四、逻辑运算 1.and(逻辑与)、or(逻辑或) 2.not(逻辑非) 五、集合运算 1.is [not] empty 集合[不]为空,不包含任何元素;对应SQL的exists运算 2.member of 元素属于集合 ;对应SQL的in运算 六、在HQL中使用+、-、*、/运算符 1.HQL语句中也可以使用 + - * / 四则运算 2.四则运算可以在where子句和select子句中使用 七、查询单个对象(uniqueResult方法) 1.Query接口的uniqueResult方法 2.where子句条件的设置(保证只返回一个结果或无结果)查看全部
-
查询单个对象 1.Query接口的uniqueResult方法 2.where子句条件的设置(保证只返回一个结果或无结果)查看全部
-
四则运算 1.HQL语句中也可以使用 + - * / 四则运算 2.四则运算可以在where子句和select子句中使用查看全部
-
集合运算: 1.is [not] empty 集合[不]为空,不包含任何元素;对应SQL的exists运算 2.member of 元素属于集合 ;对应SQL的in运算查看全部
-
逻辑运算符 1.and(逻辑与)、or(逻辑或) 2.not(逻辑非) e.g. String hql="from Commodity c where c.price between 100 and 4000 and c.category like '%电脑%'"; String hql1="from Commodity c where c.price between 100 and 4000 or c.category like '%电脑%'";查看全部
-
字符串模式匹配 1.like 关键字 2.通配符:% 匹配任意个字符,_ 匹配一个字符 e.g. "from Customer c where c.name like '%张%'查看全部
-
范围运算 1.[not] in (列表) 2.[not] between 值1 and 值2查看全部
-
null值判断运算 HQL中 = null <=> is null <> null <=> is not null查看全部
-
比较运算 1. = ,<> ,< ,> ,>= ,<= 2.null值判断—is [not] null 在HQL中允许使用 = ,<> 进行null值判断 x=null -> x is null x<>null -> x is not null e.g. public void testWhere1(){ String hql="from Commodity where price>400"; Query query = session.createQuery(hql); List<Commodity> commodities=query.list(); for (Commodity commodity : commodities) { System.out.println("name:"+commodity.getName()); System.out.println("price:"+commodity.getPrice()); } }查看全部
-
限制—where子句 1.比较运算 2.范围运算 3.字符串模式匹配 4.逻辑运算 5.集合运算 6.在HQL中使用+、-、*、/运算符 7.查询单个对象(uniqueResult方法)查看全部
-
选择—select子句 一、以Object[]形式返回选择的属性: HQL的select查询语句中,如果指定了多个查询字段,则返回的是一个Object[]数组;如果只指定了一个查询字段,则返回的是一个Object对象。 e.g. String hql="select s.name,s.tel,s.address from Seller s"; 二、以List形式返回选择的属性 e.g. String hql = "select new list(s.name,s.tel,s.address) from Seller s"; 三、以map形式返回选择的属性 1.select子句中使用new map指定 2.key为索引值,是字符串类型(map.get("0")),使用Map集合时考虑使用别名获取属性信息 e.g. String hql="select new map(s.name as name,s.tel as tel,s.address as address) from Seller s"; 【总结】:Object[],List,map不存在孰优孰劣,而是根据个人喜好选择 四、以自定义类型返回选择的属性 1.持久化类中定义对应的构造器 2.select子句中调用定义的构造器 注意:默认构造器是需要的,因为在Hibernate没有指定的查询的返回集合时候,Hibernate会自动去找默认构造器,如果不存在,则会出现异常 String hql = "select new Seller(s.name,s.tel,s.address) from Seller s"; 五、获取独特的结果-distinct关键字 distinct关键字 消除查询过程中重复的元素 e.g. String hql="select distinct c.sex from Customer c";查看全部
-
获取独特的结果-distinct关键字 distinct关键字 消除查询过程中重复的元素 e.g. String hql="select distinct c.sex from Customer c";查看全部
-
增加自定义构造器,一定要补充默认构造器,否则hql=" from classname" 会出错,因为在Hibernate没有指定的查询的返回集合时候,Hibernate会自动去找默认构造器查看全部
举报
0/150
提交
取消