首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么把SSH里的Hibernate换成iBatis

2012-07-28 
如何把SSH里的Hibernate换成iBatis ?我现在有一个现成的SSH的例子已经跑通了,我想把Hibernate换成iBatis ,

如何把SSH里的Hibernate换成iBatis ?
我现在有一个现成的SSH的例子已经跑通了,
我想把Hibernate换成iBatis ,咋整?

[解决办法]
工作量好大的
[解决办法]
ibatis可看成對SQL作OR-Mapping,所以最大的問題會在於原先用 hibernate寫在程序理的HQL,
如何抽離出來。

所以如果要設計成可抽換架構,最好從SQL與程式分離開始設計。
[解决办法]
如果直接手动改,必然改动量很大。你搜索一下看看有没有相关工具,可以协助你自动处理很多mapping的转换。但是依然会修改很多东西。
[解决办法]
这种后期改框架的肯定很烦,
不是三言两语能解决的。
[解决办法]
工作量比重新做不少多少!~~~~~~~
[解决办法]
DAO层全部换掉多做成ibatis的sqlmap映射,spring里面关于hibernate的配置都改为ibatis的,如果系统不大的话倒也是很快的。
[解决办法]
1.先换数据源从hibernate换成ibatis

Java code
    <!-- 加载数据源配置文件 -->    <bean        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="locations">            <list>                <value>classpath:data-source.properties                </value>            </list>        </property>    </bean>    <!-- 定义 CP平台mysql数据源 -->    <bean id="xxSource" class="org.apache.commons.dbcp.BasicDataSource"        destroy-method="close">        <property name="driverClassName" value="${xx_DriverClassName}" />        <property name="url" value="${xx_url}" />        <property name="username" value="${xx_username}" />        <property name="password" value="${xx_password}" />        <property name="initialSize" value="${xx_initialSize}" />        <property name="maxActive" value="${xx_maxActive}" />        <property name="maxWait" value="${xx_maxWait}" />        <property name="maxIdle" value="${xx_maxIdle}" />        <property name="minIdle" value="${xx_minIdle}" />        <property name="removeAbandoned" value="${xx_removeAbandoned}" />        <property name="removeAbandonedTimeout" value="${xx_removeAbandonedTimeout}" />    </bean>    <!-- 为每个数据源单独定义 SqlSessionFactory -->    <bean id="xxSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="xxSource" />    </bean>    <!-- 为每个数据源单独定义 SqlMapper -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="路径1,路径2" />        <property name="sqlSessionFactory" ref="xxSqlSessionFactory" />    </bean>
[解决办法]
探讨

那我要疯了啊··········

[解决办法]
没必全换。两个配合就行了。
hibernate是增删改。
mybatis作查询。
[解决办法]
[/WEB-INF/applicationContext.xml]路径写错了吧,没找到文件
探讨

还有一点下面,大家帮我看看是什么错吧~~~~~~~~~~~~


2012-3-29 15:37:24 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.spring……


热点排行