假设使用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 intouser(account,password,name,address,man)values(#{account},#{password},#{name},#{address},#{man})</insert> </mapper>dao接口实现成就实现完毕了,在使用时仅仅须要:
@Autowired
UserMapper userMapper;
就能够直接使用UserMapper 对数据进行操作了!
这样感觉比hibernate操作dao层更方便了。