转自:
下文笔者讲述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的实现对象