国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Hibernate3與spring的整合應(yīng)用-技術(shù)學(xué)習(xí)者
Hibernate3與spring的整合應(yīng)用
作者:TOM   來源:技術(shù)學(xué)習(xí)者    更新日期:2005-09-15    瀏覽次數(shù): 251
Spring為應(yīng)用程序提供一個(gè)容器, 為應(yīng)用程序的管理帶來了方便. 它與hibernate的結(jié)合, 形成一個(gè)完整的后臺(tái)體系, 也是當(dāng)今應(yīng)用開發(fā)流行的做法. 奮斗了一個(gè)晚上, 終于把hibernate3與spring整合了起來, hibernate2.x和hibernate3與spring的結(jié)合稍有不同, 關(guān)鍵是引入的spring的包的不同, 下面我會(huì)標(biāo)識(shí)出來.
Spring 的配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "spring" "../../../lib/spring-beans.dtd" >
<beans default-autowire="no" default-dependency-check="none" default-lazy-init="false">
<!--
   配置數(shù)據(jù)源
   注意: 用org.apache.commons.dbcp.BasicDataSource, 要引入 apache commons
   的commons-collections-3.1.jar, commons-dbcp-1.2.1.jar, commons-pool-1.2.jar三個(gè)包
 -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName">
   <value>org.gjt.mm.mysql.Driver</value>
  </property>
  <property name="url">
   <value>jdbc:mysql://localhost/sparkcrm</value>
  </property>
  <property name="username">
   <value>root</value>
  </property>
  <property name="password">
   <value>1111</value>
  </property>
 </bean>
 <!-- 配置sessionFactory, 注意這里引入的包的不同  -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref local="dataSource" />
  </property>
  <property name="mappingResources">
   <list>
      <value>com/sparkcrm/schema/entities/Lead.hbm.xml</value>
    </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>
<!-- 配置transactionManager, 注意這里引入的包的不同  -->
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref local="sessionFactory" />
  </property>
 </bean>
<--事務(wù)代理在這里配置, 這里省略了 -->
 <bean id="leadDAO" class="com.sparkcrm.schema.dao.LeadDao">
  <property name="sessionFactory">
   <ref local="sessionFactory" />
  </property>
 </bean>
</beans>
一個(gè)示例的hibernate的映射文件
<?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">
<hibernate-mapping package="com.sparkcrm.schema.entities">
<!-- 我在這里用了hibernate的動(dòng)態(tài)模型(dynamic models) , 沒用pojo-->
    <class entity-name="Lead" table="Lead">
        <id name="id" column="id" type="string">
            <generator class="uuid.hex"/>
        </id>
        <property name="companyName" type="string"/>
        <property name="topic" type="string"/>
        <property name="contactName" type="string"/>
    </class>
</hibernate-mapping>
DAO代碼:
import java.util.Map;
/**
* DAO接口
*/
public interface IDAO 
{
    String create(Map<String, Object> map);
    void update(Map<String, Object> map);
    Map<String, Object> delete(String id);
    boolean share(String id, String userId, int rights);
    boolean assign(String id, String userId);
}
import java.util.Map;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.sparkcrm.schema.IDAO;
import com.sparkcrm.schema.Schema;
import com.sparkcrm.schema.metadata.Lead;
/**
*一個(gè)示例的DAO實(shí)現(xiàn), 繼承HibernateDaoSupport, 用spring帶來的管理session等的便利
*/
public class LeadDao extends HibernateDaoSupport implements IDAO 
{
    public String create(Map<String, Object> map) 
{
        getHibernateTemplate().saveOrUpdate(Schema.LEAD, map);
        return (String) map.get(Lead.ID);
    }
    public void update(Map<String, Object> map) 
{
    }
    public Map<String, Object> delete(String id) 
{
        return null;
    }
    public boolean share(String id, String userId, int rights) 
{
        return false;
    }
    public boolean assign(String id, String userId) 
{
        return false;
    }
}
示意性的測(cè)試代碼:
import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.sparkcrm.schema.IDAO;
public class testLeadDAO extends TestCase 
{
    ClassPathXmlApplicationContext ctx = null;
    public void setUp()
{
        ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    }
    public void testCreateLead()
{
         IDAO leadDao = (IDAO) ctx.getBean("leadDAO");
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("companyName", "Spark Ltd.");
        map.put("topic", "This is a Good Lead!");
        map.put("contactName", "abcd");
        String id = leadDao.create(map);
        System.out.println(id);
    }
}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SSH整合(struts2.2.1 + spring3.0 + hibernate3.3)
eclipse maven 搭建【SSH】項(xiàng)目
Spring整合Hibernate圖文步驟
在myeclipse下整合spring和hibernate
使用spring-mock進(jìn)行dao集成測(cè)試
Struts2+Spring+Hibernate
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服