假设使用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层更方便了!