假设使用hiberante作为dao层,经常使用的方式是:定义一个dao层接口包(com.dao.service)然后在定义一个dao层接口实现包(com.dao.service.impl),这样定义结构清晰,方便维护和开发工作。

假设使用mybatis作为dao层,我们就能够省略到dao实现包。直接将sql实如今xml配置文件里编写,这样维护起来更方便了!

首先将mybatis整合到spring中:

    <!-- define the SqlSessionFactory -->

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <property name="dataSource" ref="dataSource" />

配置javabean所在的包

        <property name="typeAliasesPackage" value="org.mybatis.jpetstore.domain" />

    </bean>



    <!-- scan for mappers and let them be autowired -->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

配置dao接口层

        <property name="basePackage" value="org.mybatis.jpetstore.persistence" />

    </bean>

整合完spring后,就能够使用spring的autowire自己主动注入功能!

在接口层定义了:

public interface UserMapper

{

void persistence(User user);

}

然后在编写UserMapper实现的配置文件:

<mapper namespace="UserMapper">

<cache />加入缓存

<insert id="persistence" parameterType="User">

insert into

user(account,password,name,address,man)

values(#{account},#{password},#{name},#{address},#{man})

</insert>

</mapper>

dao接口实现成就实现完毕了,在使用时仅仅须要:

@Autowired

UserMapper userMapper; 

就能够直接使用UserMapper 对数据进行操作了!

这样感觉比hibernate操作dao层更方便了。