【MapperFactoryBean】和【MapperScannerConfigurer】

【MapperFactoryBean】

产生原因 为了代替手工使用 SqlSessionDaoSupport 或 SqlSessionTemplate 编写数据访问对象(DAO)的代码(就是为了简化Dao的编写,方便程序猿),MyBatis-Spring 提供了一个动态代理的实现——MapperFactoryBean。

作用 使我能够直接注入Mapper(例如DepartmentDao.xml)的接口到service(业务层)的bean中,当需要使用Mapper时,只需要像使用Dao接口一样使用他就行了 ,并且不需要手写Dao实现类的代码,MyBatis-Spring可以自动生成。

让我们来看看例子:
首先来看看spring.xml配置文件。在笔者写的SSM代码中就是resources文件底下的applicationcontext
在这里插入图片描述

在applicationcontext中配置MapperFactoryBean

    <!--配置sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:mapper/*.xml"></property>
    </bean>

Dao层接口

public interface DepartmentDao {
    public List<Department> search();
    public Department searchById(Integer id);
    public int add(Department dep);
    public int update(Department dep);
    public int delete(int id);
}

注入service(业务)层

@Autowired
	DepartmentDao depDao;

【MapperScannerConfigurer】

作用 自动扫描该类路径(即resources包下)的所有映射器(Mapper)并自动创建成MapperFactoryBean。

**使用方法 **在spring.xml文件中进行配置

<!-- mapper扫描器 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.alan.hrsys.dao"></property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛋蒸

大哥大嫂过年好,打个赏再走叭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值