Mybatis-Spring项目的基础配置

一、总概

配置Mybatis-Spring项目的基本步骤:

1、配置数据源dataSource

2、配置SqlSessionFactory

3、可选配置SqlSessionTemplate,在同时配置SqlSessionFactory和SqlSessionTemplate的情况下, 只有SqlSessionTemplate会生效。

但是SqlSessionTemplate不符合面向对象的程序设计思想,所以不推荐使用。

下面通过注解和xml两种形式分别介绍Mybatis-Spring的基本配置

二、xml文件形式

1、dataSource源的xml配置

   

   

   

   

   

2、SqlSessionFactoryBean的xml配置

   

   

   

3、Mapper接口Bean的xml配置

接口是没办法实例化的,但是Mybatis通过动态代理技术为我们的Mapper接口生成了一个代理对象。在Mybatis-Spring中,通过MapperFactoryBean为我们产生对应的接口实现对象。它有两个属性,分别是mapper接口和SqlSessionFactory。

   

   

   

   

通过在Spring的配置文件中简单配置上述所列条目,一个基本的Mybatis-Spring项目就配置完了。


二、更为常用的注解为主,xml为辅形式。

注解更为常用的原因主要有两个: 1、约定优先于配置 2、注解可以减少配置文件冗余

那么什么应该在注解中配置,什么应该在xml文件中配置呢?

具体来讲,像数据源这种第三方类Bean属性又比较多,而且属于公共Bean,在xml文件中配置比较好。

而工程内的数目繁多的Mapper接口则使用注解比较方便,能极大地减少xml配置文件地冗余。

通过MapperScannerConfigurer扫包配置Mapper

这个元素可以配置的属性如图:


markerInterface将需要扫描为Mapper的接口都继承一个标记接口,不利于包的划分所以不推荐,实际上需要配置的也就是basePackage、annotationClass、SqlsessionFactoryBeanName这三个属性就可以不用一个个去配置Mapper造成xml配置文件的冗余

       

   

   

   

   

Mapper用@Respository注解

import org.springframework.stereotype.Repository;

import com.spring_mybatis.pojo.Role;

@Repository

public interface RoleMapper {

public Role findRoleById(Long id);

public void insertRole(Role role);

public void deleteRole(Role role);

public void updateRole(Role role);

}

你可能感兴趣的:(Mybatis-Spring项目的基础配置)