今天讲的是一对一等知识,这两天精力不太好,课堂效率不高,好在下课后还看视频。整理笔记:
一对一:用的较少
举例:人员和身份证
设计表
user 存在用户表,photo存在photo表
一对一关联:外键关联
另一种方法:主键关联
注意:constrained = true
多对多:
老师对学生 学生有多个老师
只有删除和插入的概念,没有更新的概念
检索方式:
检索方式简介
HQL检索方式
1。7。调用用户自定义的函数
8。嵌入式查询
9。动态绑定参数在查询语句中设定各种查询条件
2。支持投影,仅检索出对象的部分属性
3。支持分页
4。连接查询
5。分组查询
6。内置聚集函数
Query query = session.createQuery(“from Customer as c where
c.name=:custoerNa
me and c.age = :customerAge”);
query.setString(“customerName”,”Tom”);
query.setInteger(“customerAge,21);
query.list();
2. QBC检索方式
3.多态查询
(查询所有该类以及该类的子类所对应的表,如果查询接口,则查询的是实现的是查询所有实现该接口的类所对应的表
session.createQuery(“from Employee”);
查询出所有的实体
from java.lang.serializable(支持接口)
from java.lang.Object
检索方式简介
对查询结果排序
hql 查询:
session.createQuery(“from Employee c order by c.name”);
qbc查询:
session.createCriteria(Customer.class).addOrder(Order.asc(“id”));
分页查询
hql 查询:
session.createQuery(“from Employee c order by
c.name”).setFirstResult(10)
.setMaxResults(10);
qbc查询:
session.createCriteria(Customer.class)
.addOrder(Order.asc(“name”))
.setFirstResult(97).setMaxResult(10).list();
检索单个对象
hql 查询:
session.createQuery(“from Employee c order by c.name”)
.setMaxResults(1).uniqueResult();
qbc查询:
session.createCriteria(Customer.class)
.addOrder(Order.asc(“name”))
.setMaxResult(1).uniqueResult();
检索方式简介
对查询结果排序
hql 查询:
session.createQuery(“from Employee c order by c.name”);
qbc查询:
session.createCriteria(Customer.class).addOrder(Order.asc(“id”));
分页查询
hql 查询:
session.createQuery(“from Employee c order by
c.name”).setFirstResult(10)
.setMaxResults(10);
qbc查询:
session.createCriteria(Customer.class)
.addOrder(Order.asc(“name”))
.setFirstResult(97).setMaxResult(10).list();
检索单个对象
hql 查询:
session.createQuery(“from Employee c order by c.name”)
.setMaxResults(1).uniqueResult();
qbc查询:
session.createCriteria(Customer.class)
.addOrder(Order.asc(“name”))
.setMaxResult(1).uniqueResult();
绑定参数
hql 查询:
session.createQuery(“from Employee c where c.name =