Hibernate 调用原生态Sql语句和存储过程
来源:互联网 发布:公安大数据情报分析 编辑:程序博客网 时间:2024/05/29 02:20
调用原生态Sql语句:
1.
String sqlStr = "select distinct name from mytable where isDeleted = :isDeleteFlag order by name asc";List<T> = this.getSessionFactory().getCurrentSession().createSQLQuery(sqlStr). addScalar("name", StandardBasicTypes.STRING).setParameter("isDeleteFlag", 0).list();Double max = (Double) session.createSQLQuery("select max(cat.weight) as maxWeight from cats cat") .addScalar("maxWeight", Hibernate.DOUBLE).uniqueResult();
用 addScalar 指明输出类型,否则会报错。
调用存储过程:
1.
Connection conn = ((SessionImplementor)getSessionFactory().getCurrentSession()).connection();String procedure = "{call test_proc(?,?,?)}";CallableStatement cstmt = conn.prepareCall(procedure);cstmt.setString(1, value1);cstmt.setString(2, value2);cstmt.registerOutParameter(3, OracleTypes.CURSOR);//这里的输出是oracle的游标cstmt.executeUpdate();ResultSet rs = (ResultSet)cstmt.getObject(5);
2. 用doWork
session.doWork(new Work(){ @Override public void execute(Connection conn) throws SQLException { CallableStatement cs = conn.prepareCall("{call test_proc(?,?,?)}"); cs.registerOutParameter(1, OracleTypes.NUMBER); cs.setInt(2, valueint); cs.setDate(3, valuedate); try{ cs.executeQuery(); int returnValue = cs.getInt(1); }catch(Exception e){ e.printStackTrace(); }finally{ cs.close(); } }});
3.
session.getConnetion().createQuery("call XXX");
4.
session.createSQLQuery("{Call 存储过程名(参数)}");
0 0
- Hibernate 调用原生态Sql语句和存储过程
- Hibernate使用原生态SQL语句
- hibernate原生态sql
- Hibernate 调用SQL Server2008的存储过程(有参无参两种情况)和SQL语句
- Hibernate 调用SQL Server2008的存储过程(有参无参两种情况)和SQL语句
- Hibernate---SQL原生态查询
- Hibernate 原生态sql查询
- hibernate调用SQL存储过程
- ThinkPHP原生态SQL语句查询
- yii2 执行原生态的sql语句
- Hibernate HQL与原生态SQL
- Hibernate中多表联合查询遇到的问题(原生态的SQL语句解决办法)
- 存储过程和SQL语句比较及存储过程在C#中调用方法
- 存储过程和SQL语句比较及存储过程在C#中调用方法
- 存储过程和SQL语句比较及存储过程在C#中调用方法(转)
- 数据库连接+SQL语句+存储过程+ADO.Net调用存储过程
- Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL
- hibernate执行原生态的sql的问题-mysql数据库
- web链接与tab切换对应的效果
- 关于LayoutInflater的一些总结
- Android——使用Volley+fastJson在新线程中读取网络接口获取天气信息
- beanutils.describe 方法漏洞
- 单点登录----->在域名相同的情况下实现单点登录(sso)
- Hibernate 调用原生态Sql语句和存储过程
- Struts 2 ——ActionContext和ServletActionContext区别
- hibernate双边的多对多关系
- android 如何在string里使用%
- 排列组合基本公式
- java Unsafe类的compareAndSwap方法
- POJ题目分类 (膜拜经典)
- 递归法和循环法判断数组是否递增
- 手游创业漫话三 (我要做什么游戏 上)