-
订单明细表(OrderItem)
查看全部 -
订单表(OrderForm)
查看全部 -
商品表Commodity
查看全部 -
客户表customer
查看全部 -
商家表Seller
查看全部 -
示例数据库表关系
查看全部 -
1、distinct使用时只能放在查询语句的第一个字段前面,且只对查询单个字段才有过滤效果。
2、如果查询语句中包含多个字段时,那么distinct将不再具有过滤功能,但运行也不会报错。
3、如果distinct没有放在查询语句的第一个字段前面, 或语句存在多个distinct,运行会出错查看全部 -
select...from...where...group by ... order by...
查看全部 -
使用order by 子句对查询结果排序 1.升序排序 asc(默认) 2.降序排序 desc 查询学生信息,按年龄降序排序. "from Student order by age desc" "from Student order by age desc,id asc" //当第一个条件满足不了时,采用第二个条件. HQL中不需要像SQL那样需INNER JOIN实现多表查询.因为在Hibernate中,会设置表与表之间的关联.可以从一个表中获取到另外一个表中的信息.
查看全部 -
查询单个对象 在Query接口中定义了uniqueResult()方法.这个方法的返回结果只存在一个实例对象.而不是像list()方法那样,返回List集合形式. 使用uniqueResult()方法要注意where子句条件的设置,要保证符合查询条件的实例对象仅有一个,或者不存在. 如果查询条件设置不当,查询返回的实例对象多于一个,那么就会抛出一个异常,终止运行. Query query=session.createQuery("from Student where sname='张三' "); Student s=(Student)query.uniqueResult(); System.out.println("name"+s.getName()); 用list()方法则是list()方法把HQL语句解析成SQL语句. 用uniqueResult()方法则是uniqueResult()方法把HQL语句解析成SQL语句. 也可以说是Query接口把HQL语句解析成SQL语句.
查看全部 -
四则运算 1.HQL语句中也可以使用 + - * / 四则运算 2.四则运算可以在where子句和select子句中使用
查看全部 -
集合运算是HQL语句提供的一种特殊的运算符.可用在一对多、多对一等关联中. 1.is empty :集合为空,不含任何元素 2.member of:元素属于集合 HQL语句的empty解释成sql语句的exists. HQL语句的member of解释成sql语句的in. "from Grade where Grade.set is not empty" //查询的是存在学生的班级的班级信息. "from Student where Student.grade member of (from Grade where cid=1)" //查询id编号为1的班级的学生信息.
查看全部 -
逻辑运算符 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 (列表) 【列表:具体值or子查询】 属性值存在就为true,反之为false 例子:String sql = "from Customer c where c.age in(20,40)"; 返回:年龄为20,年龄为40 2.[not] between 值1 and 值2 属性值在值1和值2之间就返回true, 属性值在两者之外就返回false 例子1:String sql = "from Customer c where c.age in(20,40)"; 返回:返回年龄为20,年龄为40的信息 例子2:String sql = "from Customer c where c.age not in(20,40)"; 返回:返回年龄不为20,年龄不为40的信息 例子3:String sql = "from Customer c where c.age between 20 and 40"; 返回:年龄为20 - 40之间的信息
查看全部
举报