- 浏览: 2261768 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
关键字:hibernate调用MySql存储过程
Java代码
CREATE TABLE `proctab` (
`id` int ( 11 ) NOT NULL auto_increment,
`Name` varchar ( 20 ),
`age` int ( 11 ),
PRIMARY KEY (`id`)
)
CREATE TABLE `proctab` (
`id` int ( 11 ) NOT NULL auto_increment,
`Name` varchar ( 20 ),
`age` int ( 11 ),
PRIMARY KEY (`id`)
)
简单的存储过程
Java代码
create PROCEDURE proc()
begin
select * from proctab;
end ;
create PROCEDURE proc()
begin
select * from proctab;
end ;
一种方法是通过hibernate传统的xml映射方式去调用
Java代码
<class name="com.test.User" table="proctab">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name" type="string" />
<property name="age" column="age" type="integer" />
</class>
<sql-query name="getUser" callable="true">
<return alias="user" class="com.test.User">
<return-property name="id" column="id" />
<return-property name="name" column="name" />
<return-property name="age" column="age" />
</return>
{call proc()}
</sql-query>
<class name="com.test.User" table="proctab">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name" type="string" />
<property name="age" column="age" type="integer" />
</class>
<sql-query name="getUser" callable="true">
<return alias="user" class="com.test.User">
<return-property name="id" column="id" />
<return-property name="name" column="name" />
<return-property name="age" column="age" />
</return>
{call proc()}
</sql-query>
调用方法
Java代码
Session ss= HibernateSessionFactory.getSession()
List li=ss.getNamedQuery("getUser").list();
ss.close();
Session ss= HibernateSessionFactory.getSession()
List li=ss.getNamedQuery("getUser").list();
ss.close();
及其类似jdbc的方法
Java代码
Session session =HibernateSessionFactory.getSession();
Connection conn = session.connection();
ResultSet rs =null;
CallableStatement call = conn.prepareCall("{Call proc()}");
rs = call.executeQuery();
rs.close();
session.close();
Session session =HibernateSessionFactory.getSession();
Connection conn = session.connection();
ResultSet rs =null;
CallableStatement call = conn.prepareCall("{Call proc()}");
rs = call.executeQuery();
rs.close();
session.close();
这种方法基本上就是jdbc,不过很简单,总是感觉怪怪的~!
还有就是通过强大的createSQLQuery来实现
o(∩_∩)o...哈哈 个人比较喜欢这种方法
Java代码
Session session =HibernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery("{Call proc()}");
List list =query.list();
session.close();
Session session =HibernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery("{Call proc()}");
List list =query.list();
session.close();
如果没有返回值 直接用execute的方法就可以了
(*^__^*) 忘了一个重要的问题就是存储过程的传参问题
Java代码
CallableStatement call = conn.prepareCall("{Call proc(?)}");
call.setString(1, 参数);
rs = call.executeQuery();
CallableStatement call = conn.prepareCall("{Call proc(?)}");
call.setString(1, 参数);
rs = call.executeQuery();
Java代码
SQLQuery query = session.createSQLQuery("{Call proc(?)}");
query.setString(0, 参数);
List list =query.list();
发表评论
-
数据库连接池选型
2014-12-04 18:32 1171关键字:数据库连接池选型 proxool(与spring不太 ... -
Mybatis物理分页插件(目前mybatis下最好的物理分页)
2014-12-03 22:36 45668关键字:Mybatis物理分页插件(目前mybatis下最好的 ... -
atomikos(com.atomikos.icatch.SysException: Error in init(): Log already in use)
2014-10-15 13:12 8528关键字:atomikos(com.atomikos.icatc ... -
mybatis级联查询的两种配置方式(很多人问我,这里给出答案)
2014-08-11 23:39 5070关键字:mybatis级联查询的两种方式 第一种配置方式: ... -
Mybatis 打印SQL(sql)
2014-02-28 13:26 2832关键字:Mybatis 打印SQL(sql) ####### ... -
ibatis泛型dao(spring SqlMapClientTemplate支持)
2011-12-04 21:11 3715关键字:ibatis泛型dao(spring SqlMapC ... -
跟踪 C3p0 连接池连接泄漏之参数优化与日志分析
2011-09-13 11:48 11303<property name="un ... -
Hibernate注释大全收藏
2011-06-22 15:00 905关键字:Hibernate注释大全收藏 声明实体Bean ... -
hibernate hql where语句拼接工具类
2011-05-27 01:18 3540附件是:hibernate hql where语句拼接工具类 ... -
Hibernate Mysql注解设置自动增长列
2011-05-08 05:14 10104@Entity @Table(name = "T_P ... -
hibernate二级缓存(包括注解方式)
2011-04-11 20:33 12275二级缓存配置(spring+hibernate) 说明:本人 ... -
Hibernate泛型DAO(结合spring模板支持)
2011-03-31 19:49 982详细介绍 Hibernate 泛 ... -
hibernate注解
2011-03-31 15:35 57附件是hibernate注解相关资料。 -
Eclipse中配置及使用iBATIS插件—ibator
2011-03-17 18:37 3724ibator,大快人心,以下对其配置及使用做个简单介绍. 一 ... -
Hibernate帮助文档及API
2011-03-05 22:16 2100附件是:Hibernate帮助文档及API,欢迎下载学习。 -
如何配置hibernate二级缓存呢?
2011-01-31 17:16 950配置二级缓存网站推荐: http://www.ineeke. ... -
String之HibernateTemplate经典查询
2010-12-08 15:49 1934一、find(String queryString); ... -
Hibernate之Criteria使用经典
2010-12-08 14:32 1002创建一个Criteria 实例 org.hibernate. ... -
SchemaExport工具实战(hibernate)
2010-12-05 15:30 1155SchemaExport工具实战 通常我们使用生成数据库架构 ... -
Hibernate条件查询(DetachedCriteria)
2010-11-21 01:28 1778Hibernate条件查询(DetachedCriteria) ...
相关推荐
hibernate本对数据库的操作有些不完美,有必要的时候可以调用存储过程来补足。
Java-Hibernate 调用 MySQL 过程和函数的方式知识 Java-Hibernate 框架中调用 MySQL 数据库中的过程和函数是通过 CallableStatement 对象来实现的。下面将详细介绍如何调用 MySQL 中的过程和函数。 调用函数 在 ...
### Hibernate调用存储过程详解 在企业级应用开发中,Hibernate作为一款优秀的对象关系映射(ORM)框架,被广泛应用于Java持久层解决方案。而存储过程作为一种预编译的SQL代码块,在数据库层面执行,提供了高性能的...
以下是Java-Hibernate调用MySQL过程和函数的详细步骤: 1. **调用函数** - 函数调用通常涉及到返回值和可能的输入参数。例如,调用名为`get_pname`的函数,该函数可能接受三个参数。使用`CallableStatement`创建一...
下面将详细介绍如何在Java中利用Hibernate调用MySQL的存储过程和函数。 首先,我们需要理解CallableStatement接口,它是PreparedStatement的子接口,用于执行SQL存储过程。在Java中,我们通常使用CallableStatement...
在Java的持久化框架Hibernate中,调用数据库的存储过程是一项常见的需求。本文将深入探讨在Hibernate3中如何实现这一功能,以及相关的知识点。 一、为什么要使用存储过程 存储过程是预编译的SQL语句集合,它们在...
【hibernate调用存储过程】在软件开发中,尤其是涉及到数据库操作的Java应用中,Hibernate作为一款流行的ORM(对象关系映射)框架,能够极大地简化数据库操作。然而,有时我们可能需要使用到数据库的存储过程,这时...
总结来说,这篇文章深入浅出地介绍了如何在Hibernate 3.x中使用存储过程,涵盖了创建存储过程、在Java代码中调用存储过程的关键步骤,为开发者提供了清晰的实践指导。这对于那些希望在Java应用中充分利用数据库功能...
Struts2、Hibernate和MySQL是Java Web开发中的三个重要组件,它们构成了经典的MVC(Model-View-Controller)架构中的关键技术。在这个框架中,Struts2作为表现层框架,负责处理用户请求并控制应用程序流程;...
2. **src/main/resources**:存储配置文件,如Spring的bean配置(applicationContext.xml)、Hibernate的实体映射文件(hbm.xml)以及数据库连接配置(hibernate.cfg.xml)。 3. **WEB-INF**:Web应用的配置文件...
在Spring和Hibernate的整合中,Mysql作为后台存储,负责保存和检索数据。 整合Spring、Hibernate和Mysql的步骤大致如下: 1. **配置环境**:确保你的开发环境中已经安装了Java、Maven或Gradle(用于构建项目)、...
在本项目中,我们关注的是一个经典的Java Web开发技术栈:Spring 3.0、Hibernate 3.3以及MySQL 8.0的整合。这个组合是企业级应用中常见的技术选型,它们各自承担着不同的职责,共同构建了一个强大、灵活且可扩展的...
在Spring MVC + Hibernate的组合中,MySQL作为数据存储后端,存储和检索应用所需的数据。Hibernate通过JDBC与MySQL交互,执行SQL语句,完成数据的读写操作。 **整合过程** 整合Spring MVC、Hibernate和MySQL通常...
而MySQL作为数据存储,保存网站的所有数据。在实际操作中,开发者可能还需要使用其他技术,如JSP或Servlet来渲染视图,或者Spring框架来增强依赖注入和AOP(面向切面编程)功能。 总的来说,"struts+hibernate+...
在Spring+Hibernate整合中,MySQL作为数据存储的后端,提供数据的存储和检索功能。 4. **整合流程** - **配置Spring** 首先,需要配置Spring的ApplicationContext,声明Bean定义,包括SessionFactory(Hibernate...
在项目中,用户信息被存储在MySQL的表中,通过Hibernate进行交互。 5. **HTML**:HTML是超文本标记语言,负责构建网页的结构。在这个案例中,HTML页面用于显示用户信息,并提供用户交互界面,如表单用于输入或编辑...