Hibernate的查询方式
1.OID检索:
使用session.get(Object.class,oid),session.load(Object.class,oid),根据表的主键查询
2.对象导航检索以及联级映射的配置:
根据已有对象查询与之对应的另外一些对象,比如一个Customer对象中有一个Linkmans(联系人对象)集合,当查询出Customer后,直接变量linkMans集合就可以查询到与之对应的联系人
配置文件:
一对一:<one-to-one name="User" class="com.lzy.hibernate.User" ></one-to-one>
一对多:
?
多对一:
?
3.HQL检索:
使用session.createQuery("HQL语句")查询
条件的添加:
1.使用占位符
?
2.使用别名
?
分页查询:q.setFirstResult(0):设置第一条数据的位置
q.setMaxResults(3):设置查询数据的条数(也就是每页多少条)
多表查询:注意第一种写法和第二种写法的区别
?
4.QBC检索:
Criteria criteria = session.createCriteria(Customer.class);
criteria.add(Restrictions.like("参数1","参数2"));
参数1:所添加条件的属性名,比如Customer类中的cust_name属性
参数2:条件的值,比如 "路%" (这里使用的是like)
QBC离线查询:当前台需要多条件查询的时候,在web层将这些条件封装到DetachedCriteria,便于传递到持久层
?
5.SQL检索:
session.createSQLQuery("正常SQL语句").list();
6.其他配置文件
核心配置文件:url后面的参数为 useUnicode=true&characterEncoding=UTF-8 为了解决中午乱码。
映射文件
原文地址:https://www.cnblogs.com/zy-Luo/p/11041708.html