mybatis映射器机制,我们只需要定义好借口,mybatis帮我创建实现类,并且来管理SqlSession对象的创建和关闭,减少我们不少工作。缺点能就是不太够灵活。mybatis映射器注入可以选择两种方式,一种依赖MapperFactoryBean,另外一种方式依赖MapperScannerConfigure。
MapperFactoryBean
首先定义一个映射器,映射器是一个接口
public interface MusicMapper { /** * * @description TODO * @param id * @return * @return Music */ @Results(id = "musicResult", value = { @Result(property = "id", column = "id", id = true), @Result(property = "name", column = "name"), @Result(property = "singer", column = "singer"), @Result(property = "album", column = "album"), @Result(property = "duration", column = "duration"), @Result(property = "author", column = "author"), @Result(property = "composer", column = "composer"), @Result(property = "style", column = "style") }) @Select("select * from t_music where id= #{id}") public Music getMusicById(@Param("id") String id); /** * id; name; singer; * * album; duration; author; composer;style */ }
在Spring配置映射器,要将映射器注入到Service实现类中
<bean id="musicMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <property name="mapperInterface" value="org.lian.mapper.MusicMapper" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> <bean id="musicService" class="org.lian.service.impl.MusicServiceImpl"> <property name="musicMapper" ref="musicMapper"/> </bean>
当映射器很多的时候,像上面的配置似乎会让配置显得更加臃肿,那么采用下面的方式就可以简化上面的配置
MapperScannerConfigure
采用下面的配置可以省略配置很多Mapper映射器
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--如果是多个包 org.lian.dao;org.lian.mapper;...;* org.lian.dao,org.lian.mapper....,* 使用,或者;分隔--> <property name="basePackage" value="org.lian.mapper" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> <bean id="musicService" class="org.lian.service.impl.MusicServiceImpl"> <property name="musicMapper" ref="musicMapper"/> </bean>
采用上面的方式有一个要求就musicMapper要和映射器接口MusicMapper要保持一致,如果想要更加灵活可以使用Spring的@Component或者JSR-330 的@Named 注解,Spring其他注解没有测试,除此之外还有其他的注解那需要配置MapperScannerConfigure的annotationClass 属性指定了要寻找的注解名称。
@Component("groupDao") public interface GroupMapper { @Results(id = "groupResult", value = { @Result(property = "groupId", column = "group_id", id = true), @Result(property = "groupName", column = "group_name") }) @Select("select * from t_group where group_id= #{groupId} ") public Group getGroupById(String groupId); }
@Service("groupService") public class GroupServiceImpl implements GroupService { private GroupMapper groupDao; @Override public Group getGroupById(String groupId) { return groupDao.getGroupById(groupId); } public GroupMapper getGroupDao() { return groupDao; } @Resource(name = "groupDao") public void setGroupDao(GroupMapper groupDao) { this.groupDao = groupDao; } }
Spring整合mybatis官网给出了更加详尽的内容,需要的查询的可以参考Spring-mybatis官网
相关推荐
SSM(Spring、SpringMVC、MyBatis)框架整合是Java开发中常见的技术栈,主要用于构建企业级的Web应用程序。在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常...
这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...
**Spring整合Mybatis原理分析** 在Java Web开发中,Spring框架以其强大的依赖注入和面向切面编程能力,成为了事实上的核心框架。Mybatis则是一个轻量级的持久层框架,它简化了数据库操作,提供了直观的SQL映射。将...
Spring作为一个全面的开源应用框架,提供依赖注入(DI)和面向切面编程(AOP)等功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL映射和数据库操作。当我们需要将这两者结合起来时,可以实现更灵活、可维护的...
3. 映射器:通过映射器接口,MyBatis 实现了 SQL 语句和 Java 方法的映射,使得数据库操作更加方便。 4. 缓存:MyBatis 提供了一级缓存和二级缓存,可以有效地提高数据查询性能。 5. 参数映射:自动处理 SQL 参数...
在"Spring3+SpringMVC+MyBatis"的整合过程中,通常会使用Spring的ApplicationContext来加载配置,管理所有组件。SpringMVC的配置需要定义DispatcherServlet,配置视图解析器如InternalResourceViewResolver,以及...
5. Spring MVC配置:包括视图解析器、拦截器、处理器映射器等。 在项目运行时,Spring会自动注入所需的Service和DAO,Service层调用DAO层的方法来执行数据库操作。由于MyBatis-Spring的封装,我们可以通过@...
标题中的"mybatis和spring整合jar包"表明我们要讨论的是如何将两个流行的Java框架——MyBatis和Spring——集成在一起,以便在同一个项目中利用它们各自的优势。MyBatis是一个轻量级的持久层框架,它允许开发者用SQL...
最后,`springMybatis`可能是指项目的根目录或者模块名称,通常包含`src/main/resources`下的Mybatis配置文件、Mapper接口和XML文件,以及`src/main/java`下的业务逻辑和服务层代码。 综上所述,"Spring整合Mybatis...
《mybatis-spring整合项目》是GitHub上官方提供的一个示例,它展示了如何将MyBatis和Spring框架完美地结合起来,实现数据访问层的高效管理。这个项目为开发者提供了一个清晰的模板,帮助他们理解并掌握这两个强大...
总的来说,"mybatis框架+spring整合"的学习涵盖了数据库访问、ORM映射、依赖注入、事务控制等多个方面,是Java后端开发中不可或缺的部分。通过这个教程,新手可以逐步掌握企业级应用开发的核心技能,为今后的项目...
2. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,设置DispatcherServlet、视图解析器、模型视图处理器映射器等。 3. **配置MyBatis**:在MyBatis的配置文件`mybatis-config.xml`中指定...
本示例中,我们将讨论如何将MyBatis与Spring框架进行整合。由于Spring官方并未直接提供与MyBatis的集成解决方案,我们需要借助第三方库“mybatis-spring-1.0.0.jar”,这是由MyBatis官方提供的用于Spring框架的...
通过这个整合,我们可以利用Spring的依赖注入(DI)和事务管理,同时享受到MyBatis的灵活SQL映射。 1. **SqlSessionFactory**:这是MyBatis的核心对象,用于创建SqlSession实例。MyBatis-Spring提供了...
通过阅读《MyBatis_3_用户指南中文版.doc》、《MyBatis-3-User用户手册.pdf》和《MyBatis-Spring+Reference+Simplied+Chinese.pdf》,你可以深入理解MyBatis框架本身及其与Spring的整合,进一步提升在企业级Java应用...
Spring 整合 MyBatis 是将 Spring 框架与 MyBatis 持久层框架结合使用,以便实现更高效、更灵活的数据库操作。这个整合过程涉及到多个步骤,包括配置、依赖管理、数据源设置、事务管理、SqlSessionFactory 和 ...
【标题】"mybatis-spring整合简单实例代码"所涉及的知识点主要集中在如何将MyBatis与Spring框架进行集成,以便在Spring应用中利用MyBatis进行数据访问。这一过程通常包括以下几个关键步骤: 1. **环境配置**:首先...