博客
关于我
Mybatis-@MapperScan和mybatisscan分析
阅读量:797 次
发布时间:2023-02-09

本文共 1986 字,大约阅读时间需要 6 分钟。

MyBatis-Spring 1.2.0 引入了两种主要的扫描映射器接口

MyBatis-Spring 1.2.0 版本中新增了两种主要的扫描映射器接口,提供了更灵活的方式来注册和管理 MyBatis 映射器。这些功能可以帮助开发者更高效地配置和使用 MyBatis 在 Spring 应用程序中的映射器。

第一种方法是通过 mybatis:scan 元素

mybatis:scan 元素是 MyBatis-Spring 命名空间中的一个关键元素,它允许开发者指定一个以逗号分隔的包名列表,用于搜索包含 MyBatis 映射器接口的类。为了使用这个功能,需要在 Spring 配置文件中添加相应的 schema 声明。以下是一个示例:

通过 mybatis:scan 元素,开发者可以定义以下属性来自定义扫描过程:

  • annotation:扫描器将注册所有在指定 base-package 包内并且带有特定注解的 MyBatis 映射器接口。
  • factory-ref:在有多个 SqlSessionFactory 实例的情况下,指定要使用的特定 SqlSessionFactory。
  • marker-interface:扫描器将注册在 base-package 包内并且继承了特定接口的 MyBatis 映射器接口。
  • template-ref:在有多个 SqlSessionTemplate 实例的情况下,指定要使用的特定 SqlSessionTemplate。
  • name-generator:指定一个 BeanNameGenerator 类,用于命名检测到的组件。
  • basePackageClasses:可选的类型安全替代品,用于指定需要扫描的特定类。
  • 第二种方法是使用 @MapperScan 注解

    从 Spring 3.1 开始版本,@MapperScan 注解提供了一种基于 Java 的配置方式。开发者可以在配置类上使用 @MapperScan 注解,指定需要扫描的包路径。以下是一个示例:

    @Configuration
    @MapperScan("com.mybatis.x.mappers")
    public class AppConfig {
    @Bean
    public DataSource dataSource() {
    return new PooledDataSource("com.mysql.jdbc.Driver",
    "jdbc:mysql://localhost:3306/test",
    "root",
    "root");
    }
    @Bean
    public SqlSessionFactory sqlSessionFactory() throws Exception {
    SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
    sessionFactory.setDataSource(dataSource());
    return sessionFactory.getObject();
    }
    }

    @MapperScan 注解提供了多个可定制属性:

  • annotationClass:扫描器将注册所有在指定 base-package 包内并且带有指定注解的 MyBatis 映射器接口。
  • markerInterface:扫描器将注册在 base-package 包内并且继承了特定接口的 MyBatis 映射器接口。
  • sqlSessionFactoryRef:在有多个 SqlSessionFactory 实例的情况下,指定要使用的特定 SqlSessionFactory。
  • sqlSessionTemplateRef:在有多个 SqlSessionTemplate 实例的情况下,指定要使用的特定 SqlSessionTemplate。
  • nameGenerator:指定一个 BeanNameGenerator 类,用于命名检测到的组件。
  • basePackage:指定要扫描的基包路径。
  • basePackageClasses:可选的类型安全替代品,用于指定需要扫描的特定类。
  • 通过这些方法,开发者可以根据实际需求灵活配置 MyBatis 映射器的扫描和注册过程。无论是通过 mybatis:scan 元素还是 @MapperScan 注解,目标都是实现 MyBatis 映射器的高效注册和管理。在实际应用中,建议根据项目需求选择最适合的配置方式,并合理定义相关属性参数。

    转载地址:http://dfffk.baihongyu.com/

    你可能感兴趣的文章
    matlab图的连通性算法,matlab判别图的连通性.doc
    查看>>
    MATLAB如何固定text在图中的相对位置
    查看>>
    Matlab安装
    查看>>
    MATLAB实现交叉小波变换
    查看>>
    MATLAB实现各种概率密度函数(概率密度/分布/逆概率分布函数)
    查看>>
    MATLAB实现各种熵:香农熵、条件熵、模糊熵、样本熵等
    查看>>
    MATLAB实现各种离散概率密度函数(概率密度/分布/逆概率分布函数)
    查看>>
    MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型
    查看>>
    maven常用命令集合(收藏大全)
    查看>>
    Maven项目怎样重新下载依赖
    查看>>
    MBA中的企业金融课程涉及什么内容
    查看>>
    MC新手入门(二十二)------ 游戏场景
    查看>>
    md5 16位及32位
    查看>>
    MD5的算法(C)
    查看>>
    MDX Cookbook 12 - 计算 SMA 简单移动平均 LastPeriods() 函数的使用
    查看>>
    media="screen"啥意思?
    查看>>
    mediawiki
    查看>>
    MegaCli查看RIAD相关信息
    查看>>
    MEGER sentence in oracle
    查看>>
    Meikade开源项目常见问题解决方案
    查看>>