Mapper编写有哪几种方式呢?

时间:2022-12-05 20:53:16

转自:

Mapper编写有哪几种方式呢?

下文笔者讲述Mapper编写的方式简介说明,如下所示

方式1:编写一个继承SqlSessionDaoSupport的接口,编写mapper接口、mapper接口实现类、mapper.xml文件

 
 1.在sqlMapConfig.xml中配置mapper.xml的位置
<mappers>
    <mapper resource="mapper.xml文件的地址" />
    <mapper resource="mapper.xml文件的地址" />
</mappers>
 2.定义mapper接口
 3.实现类集成SqlSessionDaoSupport
   mapper方法中可以this.getSqlSession()进行数据增删改查。
 4.spring 配置
<bean id="*******" class="mapper接口的实现">
    <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean> 

方式二:使用org.mybatis.spring.mapper.MapperFactoryBean

 1.在sqlMapConfig.xml中配置mapper.xml的位置
  如果mapper.xml和mappre接口的名称相同且在同一个目录
  这里可以不用配置
<mappers>
    <mapper resource="mapper.xml文件的地址" />
    <mapper resource="mapper.xml文件的地址" />
</mappers>
2.定义mapper接口:
   2.1mapper.xml中的namespace为mapper接口的地址
   2.2mapper接口中的方法名和mapper.xml中的定义的statement的id保持一致
   2.3Spring中定义
<bean id="" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="mapperInterface"   value="mapper接口地址" /> 
    <property name="sqlSessionFactory" ref="sqlSessionFactory" /> 
</bean>

方式三:使用mapper扫描器

   1.mapper.xml文件编写
       mapper.xml中的namespace为mapper接口的地址
       mapper接口中的方法名和mapper.xml中的定义的statement的id保持一致
       当将mapper.xml和mapper接口的名称保持一致则不用在sqlMapConfig.xml中进行配置
  2.定义mapper接口:
     注意mapper.xml的文件名和mapper的接口名称保持一致,且放在同一个目录
  3.配置mapper扫描器:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="mapper接口包地址"></property>
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> 
</bean>
  4.使用扫描器后从spring容器中获取mapper的实现对象