欢迎光临
我们一直在努力

使用Hibernate 和 Spring 实现一个事务持久层-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

1.首先实现一个接口.

============================================================

package com.cqtele.tnbos;import java.util.*;public interface iuserdao { public void insertuser(userinfo user); public list finduser(string sql);}

==============================================================

2. 实现这个接口.

  这里使用 spring的 aop-driven hibernatetemplate 简化 hibernate 会话的处理.

================================================================package com.cqtele.tnbos;import java.util.*;

import net.sf.hibernate.*;import net.sf.hibernate.cfg.*;import java.io.serializable;import org.springframework.orm.hibernate.*;//.hibernatecallback;import org.springframework.orm.hibernate.support.hibernatedaosupport;

public class userdao extends hibernatedaosupport implements iuserdao{ //public list name=null; //session session; private list list=null; public void insertuser(userinfo user) {   gethibernatetemplate().saveorupdate(user); } public list finduser(string sql) {  return gethibernatetemplate().find(sql);  }}

=================================================================

3.声明式管理事务.

  bean.xml

==========================================================================

<?xml version="1.0" encoding="utf-8"?> <!doctype beans public "-//spring/dtd bean/en" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans> <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource"  destroy-method="close">  <property name="driverclassname">   <value>com.mysql.jdbc.driver</value>  </property>  <property name="url">   <value>jdbc:mysql://127.0.0.1:3306/opertselect?useunicode=true&amp;characterencoding=gbk</value>  </property>   <property name="username">   <value>root</value>  </property>   <property name="password">   <value></value>  </property> </bean>  <bean id="sessionfactory" class="org.springframework.orm.hibernate.localsessionfactorybean">  <property name="datasource">   <ref local="datasource" />  </property>  <property name="mappingresources">   <list>    <value>userinfo.hbm.xml</value>    <!–value>fruits.hbm.xml</value–>   </list>  </property>  <property name="hibernateproperties">   <props>    <prop key="hibernate.dialect">     net.sf.hibernate.dialect.mysqldialect    </prop>    <prop key="hibernate.show_sql">true</prop>   </props>  </property> </bean>   <bean id="transactionmanager" class="org.springframework.orm.hibernate.hibernatetransactionmanager">  <property name="sessionfactory">   <ref local="sessionfactory" />  </property> </bean> <bean id="userdao" class="com.cqtele.tnbos.userdao">  <property name="sessionfactory">   <ref local="sessionfactory" />  </property> </bean> <bean id="daoproxy" class="org.springframework.transaction.interceptor.transactionproxyfactorybean">  <property name="transactionmanager">   <ref bean="transactionmanager" />  </property>  <property name="target">   <ref local="userdao" />  </property>  <property name="transactionattributes">   <props>    <prop key="insert*">propagation_required</prop>    <prop key="get*">propagation_required,readonly</prop>   </props>  </property> </bean></beans>==============================================================================

4.使用.(这是关于一个购物车的例子.)==============================================================================

package com.cqtele.tnbos;

import java.util.*;import java.io.*;import org.springframework.beans.factory.beanfactory;import org.springframework.beans.factory.xml.xmlbeanfactory;import org.aopalliance.aop.advice;

public class login{ private list list=null; private string sql="from userinfo";  public list getallmessagelist() {  try{   inputstream is = new fileinputstream("bean.xml");   xmlbeanfactory factory = new xmlbeanfactory(is);   iuserdao user = (iuserdao)factory.getbean("daoproxy");   list = user.finduser(sql);  }catch(ioexception ioe)  {   system.out.println("getallmessagelist ocurr error!! message: "+ioe.getmessage());  }  return list; }}

======================================================================

5.总结

======================================================================

hibernate 是一种先进的 or 映射工具,而 spring 是一个 aop 框架和 ioc 容器。这两种技术的综合使用,使得开发人员可以编写媲美数据库厂商的代码,它可以在 j2ee 容器中运行,也可以单独运行.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用Hibernate 和 Spring 实现一个事务持久层-JSP教程,Java技巧及代码
分享到: 更多 (0)