Hibernate 调用存储过程

xiaoxiao2026-04-25  6

[color=blue]hibernate调用mysql5.0存储过程 关键代码: 数据库存储过程 Create procedure SP_get_UserInfo() as begin select * from user order by Id end hibernate相对应的配置文件User.hbm.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.test.hibernate.db.User" table="user" catalog="user"> <id name="id" type="java.lang.Long"> <column name="ID" /> <generator class="assigned" /> </id> <property name="name" type="java.lang.String"> <column name="name" length="500" /> </property> <property name="sex" type="java.lang.String"> <column name="sex" length="10" /> </property> <!-- <property name="born" type="java.util.Date"> <column name="born" length="0" /> </property> --> <property name="born" type="java.lang.String"> <column name="born" length="0" /> </property> <property name="address" type="java.lang.String"> <column name="address" /> </property> </class> <!--调用存储过程就在这里配 --> <sql-query name="getUser" callable="true"> <return alias="user" class="com.test.hibernate.db.User"> <return-property name="id" column="ID" /> <return-property name="name" column="name" /> <return-property name="sex" column="sex" /> <return-property name="born" column="born" /> <return-property name="address" column="address"/> </return> { call SP_get_UserInfo() } </sql-query> </hibernate-mapping> 调用存储过程的Java代码: Session querySession = HibernateSessionFactory.getSession(); querySession.clear(); List lst = uerySession.getNamedQuery("getUser").list(); for(int i=0;i<lst.size();i++) { usr=(User)lst.get(i); System.out .println(usr.getId() + " " + usr.getName() + " " + usr.getSex() + " " + usr.getBorn() + " " + usr.getAddress()); } HibernateSessionFactory.closeSession(); 一个简单的存储过程调用就这样完成了![/color]
转载请注明原文地址: https://www.6miu.com/read-5048002.html

最新回复(0)