spring与mybatis整合时mapper的配置问题
来源:互联网 发布:2k17mc模式奥尼尔数据 编辑:程序博客网 时间:2024/05/29 16:28
mapper配置有多种方法:
- 原始的dao接入的方法,即写好dao接口类,写好实现类impl,实现类要继承org.mybatis.spring.support.SqlSessionDaoSupport,然后在spring配置文件里面配置
public class TestDaoImpl extends SqlSessionDaoSupport implements TestMapper { @Override public Test getById(int id) { String statement="org.kay.mapping.testMapper.getById"; SqlSession session=this.getSqlSession(); Test t1=session.selectOne(statement,id); return t1; }}
<bean id="testDao" class="org.kay.dao.impl.TestDaoImpl"> <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> </bean>
2.配置org.mybatis.spring.mapper.MapperFactoryBean的bean对象,写好dao接口,让spring生成代理对象
—-在mybatis配置文件中要配置mapper.xml位置,缺点是,当有很多的mapper需要配置时,无法使用mybatis的自动扫包,需要一个一个配置文件的手动配置。
所以可以采用第三个方法。
<bean id="testMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="org.kay.dao.TestMapper"/> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean>
3.批量配置mapper,使用MapperScannerConfigurer
注意:--扫面basePackage包下的所有mapper,mapper接口要与对应的mapper.xml文件在同一个包,且命名相同。不这样规范也可以,在整合mybatis的时候可以这样扫描所有mapper.xml,但是 要注意的是 mapper.xml中的命名空间需要命名为对应的mapper接口的包名+完全限定名,比如mapper接口为org.kay.dao.UserDAO,则对应的命名空间为也为org.kay.dao.UserDAO:
<!--spring整合mybatis文件,这样就不用mybatis配置了 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="mapperLocations" value="classpath:org/kay/mapping/*.xml"/> </bean>
---扫描出来生成的bean对象的id值为 mapper类名(首字母小写)。---在mybaits.xml配置文件中不用再配置<mapper>---如果要制定生成的bean的id属性,可以在mapper接口上使用@Component注解指定名称(或者javax.inject.Named注解)
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="org.kay.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>
@Component("test1")//该注解会使spring自动生成mapper的bean时使用指定名称public interface TestMapper { public Test getById(int id);}
1 0
- spring与mybatis整合时mapper的配置问题
- Spring 整合Mybatis mapper问题
- Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合
- mybatis与spring3.1整合(org.mybatis.spring.mapper.MapperFactoryBean)
- mybatis与spring3.1整合(org.mybatis.spring.mapper.MapperFactoryBean)
- Spring与Mybatis的整合之Mapper代理的整合方式
- 关于Spring整合mybatis时配置MapperScannerConfigurer的问题
- Spring整合MyBatis (使用扫描包配置mapper代理)
- spring mybatis 整合后mapper接口注入失败问题
- mybatis与spring整合时读取properties问题的解决
- mybatis 与spring整合配置
- spring 和 mybatis 结合的mapper问题
- mybatis-mybatis与spring整合的基本配置
- Spring 整合mybatis时遇到的问题
- Spring+Mybatis整合时,全局扫描*mapper.xml
- mybatis mapper的配置
- Mybatis的Mapper配置
- 关于spring整合mybatis的扫描器的配置问题
- volatile关键字
- 分布式缓存布置方案
- JavaSE 学习参考:反射机制(2)Class类
- 判断一棵二叉树是否为完全二叉树
- 【Java Utility】Jsoup网页爬虫工具-使用选择器查找元素【八】
- spring与mybatis整合时mapper的配置问题
- ELK接入微服务工程
- POJ
- 常见内置指令知识点总结
- MIT 线性代数(31—33)读书笔记
- J2EE进阶之CSS 二
- mongoose简介及主要操作
- quickcocos2dx资源丢失的巨坑
- ADO.NET 快速入门(二):执行命令