hibernate学习笔记4 ------QBC/命令HQL查询/本地SQL/存储过程
来源:互联网 发布:js怎么设置left值 编辑:程序博客网 时间:2024/06/06 07:41
Session.createCriteria(Emp.class)
Criteria 查询采用面向对象方式封装查询条件,又称为对象查询。由Hibernate自动产生SQL查询语句
Criteria 由Hibernate Session进行创建,使用Criteria的add(),方法加入“条件实例”,条件实例由Restrictions静态方法返回。
Restrictions.eq() :
Restrictions.gt():
Restrictions.ge():
Restrictions.lt():
Restrictions.le():
Restrictions.between():
Restrictions.like():
Restrictions.in():
Restrictions.and():
Restrictions.or():
Criteria.addOrder(Order.desc(" ")); //asc
Criteria.Example 示例查询 关于Criteria的Example的点滴记录
Projections.avg()
Projections.max()
Projections.min()
Projections.groupProperty()
Projections.count()
Projections.sum()
createCriteria(Emp.class,"e").setProjection(Projections.groupProperty("e.dept.deptno)) 分组
.setProjection(Projections.property("dname")).list() 返回String
.setProjection(Projections.projectionList().add(Projections.property("ename")).add( )....).list();
分页
.setFirstResult((pageIndex-1)*pageSize);
.setMaxResults(pageSize);
命令HQL语句:
</class>之后 实体类.hbm.xml内:
<query name="findAll" >
<![CDATA[
from Emp
]]>
</query>
List<> list = session.getNameQuery("findAll").list();
<![CDATA[
from Emp e where e.eno=:eno
]]>
.setParameter("eno",10);
本地SQL:
String sql = "select {l.*} from login l where l.username='Tom'";
SQLQuery query = session.createSQLQuery(sql).addEntity("e",Emp.class); // 指定实体类
List list = query.list();
String sql = "select {e.*},{d.*} from emp e,dept d where e.deptno=d.deptno and e.job=:e.job";
List<Object[]> list = session.createSQLQuery(sql).addEntity("e",Emp.class).addJoin("d","e.dept").list();
定制SQL: 可见官方文档
主键放在最后 仿照HQL写的
存储过程:
1、使用命令HQL
2、使用CallableStatement
3、使用定制SQL
一、使用命令HQL
<sql-query name="saves">
{call proc_name(p1,p2)}
</sql-query>
Query
create or replace procedure pro_list(sys_cur out sys_reference)
as
begin
open sys_cur for select * from mydept;
end;
var x cursor
int count = session.getNamedQuery("saves").setParameter(0," ").executeUpdate();
<sql-query name="list" callable="true">
{call proc_list(?)}
<return alias="mm"(别名) class=" "/ >
</sql-query>
session.getNamedQuery("list").list();
二、CallableStatement
session.doWork(new Work()){
...
...
{ CallableStatement cs = connection.prepareCall("{call proc_save(?,?)"};
cs.setString(1," ");
cs.setString(2," ");
cs.executeUpdate();
});
设置输出参数
cs.registerOutParameter(1,OracleTypes.CURSOR);
ResultSet rs = (ResultSet) cs.getObject(1);
- hibernate学习笔记4 ------QBC/命令HQL查询/本地SQL/存储过程
- Hibernate HQL,QBC查询 本地SQL查询
- Hibernate学习笔记----QBC和本地SQL查询
- Hibernate-HQL-QBC 检索-本地SQL 检索
- Hibernate学习笔记 -- day07 HQL、QBC查询用法
- Hibernate里的HQL、QBC、SQL查询
- Hibernate 查询HQL,QBC 及命名HQL,SQL查询
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
- Hibernate深入理解----Hibernate 检索方式(HQL,QBC,本地SQL)
- Hibernate的检索方式(HQL、QBC、本地SQL等)
- Hibernate中的三种查询语句(hql,sql,qbc)
- Hibernate OID、导航图、HQL、SQL、QBC查询方式示例
- QBC & 本地SQL 查询
- Hibernate之QBC查询与本地SQL查询
- hibernate学习笔记(HQL检索和QBC检索)
- Hibernate命名查询、本地SQL、自定义SQL、存储过程
- Hibernate学习-07:CRUD(增删改查)操作之查询多条/所有记录HQL、QBC、SQL三种方式
- header("Content-type:text/html;charset=utf-8");
- SVG实现攻击效果
- C#学习笔记 1 初识值类型
- 使用Android Studio开发/调试Android源码
- Android 组件化
- hibernate学习笔记4 ------QBC/命令HQL查询/本地SQL/存储过程
- 递推数列特征方程推导
- Let’s Build a Compiler
- Git及Github(Odoo代码所在平台)官方入门教程翻译:Learn Git and GitHub without
- UnityException: Can not sign application Unable to sign application; please provide passwords!
- matplotlib-设置绘图横纵坐标的取值范围
- 算法导论(Problems 6-2) d-ary heap(多叉树实现堆)
- mysql自动备份维护shell脚本
- ZOJ