`

mybatis学习(五)Spring整合mybatis 映射器注入

阅读更多

             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官网

    

分享到:
评论

相关推荐

    mybatis与spring整合的全部jar包

    SSM(Spring、SpringMVC、MyBatis)框架整合是Java开发中常见的技术栈,主要用于构建企业级的Web应用程序。在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常...

    mybatis与spring整合全部jar包

    这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...

    Spring整合Mybatis与SpringBoot整合Mybatis原理分析

    **Spring整合Mybatis原理分析** 在Java Web开发中,Spring框架以其强大的依赖注入和面向切面编程能力,成为了事实上的核心框架。Mybatis则是一个轻量级的持久层框架,它简化了数据库操作,提供了直观的SQL映射。将...

    spring_mybatis 整合jar包

    Spring作为一个全面的开源应用框架,提供依赖注入(DI)和面向切面编程(AOP)等功能,而MyBatis则是一个轻量级的持久层框架,专注于SQL映射和数据库操作。当我们需要将这两者结合起来时,可以实现更灵活、可维护的...

    mybatis-3.2.7 包含spring整合包

    3. 映射器:通过映射器接口,MyBatis 实现了 SQL 语句和 Java 方法的映射,使得数据库操作更加方便。 4. 缓存:MyBatis 提供了一级缓存和二级缓存,可以有效地提高数据查询性能。 5. 参数映射:自动处理 SQL 参数...

    Spring3+springmvc+mybatis三大整合

    在"Spring3+SpringMVC+MyBatis"的整合过程中,通常会使用Spring的ApplicationContext来加载配置,管理所有组件。SpringMVC的配置需要定义DispatcherServlet,配置视图解析器如InternalResourceViewResolver,以及...

    mybatis和spring的整合包(完整版).rar

    5. Spring MVC配置:包括视图解析器、拦截器、处理器映射器等。 在项目运行时,Spring会自动注入所需的Service和DAO,Service层调用DAO层的方法来执行数据库操作。由于MyBatis-Spring的封装,我们可以通过@...

    mybatis和spring整合jar包

    标题中的"mybatis和spring整合jar包"表明我们要讨论的是如何将两个流行的Java框架——MyBatis和Spring——集成在一起,以便在同一个项目中利用它们各自的优势。MyBatis是一个轻量级的持久层框架,它允许开发者用SQL...

    spring整合Mybatis

    最后,`springMybatis`可能是指项目的根目录或者模块名称,通常包含`src/main/resources`下的Mybatis配置文件、Mapper接口和XML文件,以及`src/main/java`下的业务逻辑和服务层代码。 综上所述,"Spring整合Mybatis...

    mybatis-spring整合项目

    《mybatis-spring整合项目》是GitHub上官方提供的一个示例,它展示了如何将MyBatis和Spring框架完美地结合起来,实现数据访问层的高效管理。这个项目为开发者提供了一个清晰的模板,帮助他们理解并掌握这两个强大...

    mybatis框架+spring整合

    总的来说,"mybatis框架+spring整合"的学习涵盖了数据库访问、ORM映射、依赖注入、事务控制等多个方面,是Java后端开发中不可或缺的部分。通过这个教程,新手可以逐步掌握企业级应用开发的核心技能,为今后的项目...

    mybatis3+spring+springMVC4整合jar包.rar

    2. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,设置DispatcherServlet、视图解析器、模型视图处理器映射器等。 3. **配置MyBatis**:在MyBatis的配置文件`mybatis-config.xml`中指定...

    MyBatis+Spring整合示例

    本示例中,我们将讨论如何将MyBatis与Spring框架进行整合。由于Spring官方并未直接提供与MyBatis的集成解决方案,我们需要借助第三方库“mybatis-spring-1.0.0.jar”,这是由MyBatis官方提供的用于Spring框架的...

    mybatis-spring最新整合包

    通过这个整合,我们可以利用Spring的依赖注入(DI)和事务管理,同时享受到MyBatis的灵活SQL映射。 1. **SqlSessionFactory**:这是MyBatis的核心对象,用于创建SqlSession实例。MyBatis-Spring提供了...

    mybatis学习手册和整合mybatis+spring

    通过阅读《MyBatis_3_用户指南中文版.doc》、《MyBatis-3-User用户手册.pdf》和《MyBatis-Spring+Reference+Simplied+Chinese.pdf》,你可以深入理解MyBatis框架本身及其与Spring的整合,进一步提升在企业级Java应用...

    spring整合mybatis.docx

    Spring 整合 MyBatis 是将 Spring 框架与 MyBatis 持久层框架结合使用,以便实现更高效、更灵活的数据库操作。这个整合过程涉及到多个步骤,包括配置、依赖管理、数据源设置、事务管理、SqlSessionFactory 和 ...

    mybatis-spring整合简单的实例代码

    【标题】"mybatis-spring整合简单实例代码"所涉及的知识点主要集中在如何将MyBatis与Spring框架进行集成,以便在Spring应用中利用MyBatis进行数据访问。这一过程通常包括以下几个关键步骤: 1. **环境配置**:首先...

Global site tag (gtag.js) - Google Analytics