将上一节的代码改造下就好了,不过这一章会加一个basedaomapper。废话不多说直接上代码了。
创建一个BaseDaoMapper.java
package cn.my.sm.mapper; /**
* 将公用方法提取出来
* @author Administrator
*
* @param <T>
*/
public interface BaseDaoMapper<T> { public T findById(int id);
}
为了防止和上个UserDao有冲突,我们创建一个UserDaoMapper.java继承BaseDaoMapper,
package cn.my.sm.mapper; import cn.my.sm.po.User; public interface UserDaoMapper extends BaseDaoMapper<User> { }
然后在applicationContext.xml新政一个映射mapper代码
<!-- 映射一个org.mybatis.spring.mapper.MapperFactoryBean动态代理的类即可
装载一个cn.my.sm.mapper.UserDaoMapper类
-->
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean" >
<property name="mapperInterface" value="cn.my.sm.mapper.UserDaoMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
创建一个测试方法
@Test
public void testFindById1(){
UserDaoMapper userdao = (UserDaoMapper) context.getBean("userMapper");
User user = userdao.findById(1);
System.out.println(user);
}
运行结果
User [id=1, username=王五, sex=2, birthday=null, address=null]
以上就动态代理整合, 如果大家有疑问的可以加群号581591235或者留言。也可以加微信群