当前位置: 首页 > news >正文

跨境建站平台揭阳百度快照优化排名

跨境建站平台,揭阳百度快照优化排名,网站建设域名,贵阳花溪区文章目录 1.版本要求2.导入依赖3.自动配置2.可配置项 MyBatis-Spring-Boot-Starter 可以帮助你更快地在 Spring Boot 之上构建 MyBatis 应用。通过使用该模块我们能够快速实现以下目的: 构建单体应用程序将几乎不需要样板配置使用更少的 XML 配置 1.版本要求 MyB…

文章目录

    • 1.版本要求
    • 2.导入依赖
    • 3.自动配置
    • 2.可配置项

MyBatis-Spring-Boot-Starter 可以帮助你更快地在 Spring Boot 之上构建 MyBatis 应用。通过使用该模块我们能够快速实现以下目的:

  • 构建单体应用程序
  • 将几乎不需要样板配置
  • 使用更少的 XML 配置

1.版本要求

MyBatis-Spring-Boot-Starter 要求以下版本:

MyBatis-Spring-Boot-StarterMyBatis-SpringSpring BootJava
3.03.03.0 - 3.117 或更高
2.32.12.5 - 2.78 或更高

从上面的版本要求,我们们也不难发现,在 Spring Boot 3.x 发布后,MyBatis Starter 也进行了兼容性适配,在 Spring Boot 3.x 项目中我们可以使用 mybatis-spring-boot-starter 3.x 的版本。

2.导入依赖

Spring Boot 官方没有提供 MyBatis Starter,但是 MyBatis 官方提供了 mybatis-spring-boot-starter 一站式启动器。如果你使用 Maven,要使用 MyBatis-Spring-Boot-Starter 模块,你只需要在你的 pom.xml 添加以下依赖:

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis-starter.version}</version>
</dependency>

具体使用哪个版本的 MyBatis 依赖需要根据实际情况进行选择,然后对应替换上例中的 ${mybatis-starter.version} 部分。对应的你可以到 Maven 中央仓库进行查阅:Maven Repository:mybatis-spring-boot-starter。

3.自动配置

当我们导入 mybatis-spring-boot-starter,它就同时导入了使用 MyBatis 所需的所有依赖:

org.mybatis.spring.boot.autoconfigure 的自动配置文件中也包含了 Spring Boot 使用 MyBatis 时所需的自动配置,对应的自动配置类为 MyBatisAutoConfiguration,它代替了传统 Spring 项目集成 MyBatis 所需的 XML 配置文件。

自动配置类 MyBatisAutoConfiguration 主要负责 SqlSessionFactorySqlSessionTemplate 两个实例的创建和注册。

  • SqlSessionFactory: 这是 MyBatis 的核心类,用于创建 SqlSession 对象。它存储了执行 SQL 命令所需的所有配置信息。Spring Boot 通过 SqlSessionFactoryBean 创建 SqlSessionFactory,并自动将数据源、事务管理器、配置属性等所需的依赖注入其中。
  • SqlSessionTemplate: 这是 SqlSession 的线程安全的实现,代表了与数据库的一次会话。在 Spring 管理的事务中,SqlSessionTemplate 可以确保使用的是同一个 SqlSessionSqlSessionTemplate 实例由 Spring Boot 在创建 SqlSessionFactory 后自动创建并注册,将 SqlSessionFactory 作为参数传递给其构造函数。

对应的源码如下:

// MyBatis自动配置类
@Configuration
@ConditionalOnClass({SqlSessionFactory.class, SqlSessionFactoryBean.class})
@ConditionalOnSingleCandidate(DataSource.class) // 单一数据源
@EnableConfigurationProperties({MybatisProperties.class}) // 参数绑定配置类
@AutoConfigureAfter({DataSourceAutoConfiguration.class, MybatisLanguageDriverAutoConfiguration.class})
public class MybatisAutoConfiguration implements InitializingBean {// 配置SqlSessionFactory@Bean@ConditionalOnMissingBeanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {// ......}// 配置SqlSessionTemplate@Bean@ConditionalOnMissingBeanpublic SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {ExecutorType executorType = this.properties.getExecutorType();return executorType != null ? new SqlSessionTemplate(sqlSessionFactory, executorType) : new SqlSessionTemplate(sqlSessionFactory);}// ......
}

注意:从上述源码中不难看出,SqlSessionFactory 需要一个 DataSource(数据源)。这可以是任意的 DataSource,只需要和配置其它 Spring 数据库连接一样配置它就可以了。

对应的参数绑定配置类为 MyBatisProperties,通过一系列 mybatis.* 参数就可以自定义 MyBatis 配置。

2.可配置项

MybatisProperties 参数绑定配置类源码如下:

@ConfigurationProperties(prefix = "mybatis") // 指定前缀为 mybatis
public class MybatisProperties {public static final String MYBATIS_PREFIX = "mybatis";private static final ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();private String configLocation;private String[] mapperLocations;private String typeAliasesPackage;private Class<?> typeAliasesSuperType;private String typeHandlersPackage;private boolean checkConfigLocation = false;private ExecutorType executorType;private Class<? extends LanguageDriver> defaultScriptingLanguageDriver;private Properties configurationProperties;@NestedConfigurationProperty// 核心配置private Configuration configuration;// ......
}

下表是基于上述源码整理的常用 mybatis.* 配置参数:

配置项说明
mybatis.config-locationMyBatis 的配置文件位置(默认扫描 CLASSPATH 路径)
mybatis.mapper-locationsMyBatis 映射文件的位置,支持通配符
mybatis.type-aliases-packageMyBatis 实体类别名的包路径
mybatis.type-handlers-package类型映射所需的 TypeHandler 放置的包路径

从源码中还可以看到,其中提供了一个 CoreConfiguration 类型的配置属性,这是一个内部类,其中定义了对应于 MyBatis 的核心配置文件的内容,源码如下:

public static class CoreConfiguration {private Boolean safeRowBoundsEnabled;private Boolean safeResultHandlerEnabled;private Boolean mapUnderscoreToCamelCase;private Boolean aggressiveLazyLoading;private Boolean multipleResultSetsEnabled;private Boolean useGeneratedKeys;private Boolean useColumnLabel;private Boolean cacheEnabled;private Boolean callSettersOnNulls;private Boolean useActualParamName;private Boolean returnInstanceForEmptyRow;private Boolean shrinkWhitespacesInSql;private Boolean nullableOnForEach;private Boolean argNameBasedConstructorAutoMapping;private Boolean lazyLoadingEnabled;private Integer defaultStatementTimeout;private Integer defaultFetchSize;private LocalCacheScope localCacheScope;private JdbcType jdbcTypeForNull;private ResultSetType defaultResultSetType;private ExecutorType defaultExecutorType;private AutoMappingBehavior autoMappingBehavior;private AutoMappingUnknownColumnBehavior autoMappingUnknownColumnBehavior;private String logPrefix;private Set<String> lazyLoadTriggerMethods;private Class<? extends Log> logImpl;private Class<? extends VFS> vfsImpl;private Class<?> defaultSqlProviderType;Class<? extends TypeHandler> defaultEnumTypeHandler;private Class<?> configurationFactory;private Properties variables;// ......
}

其实这就对应了 MyBatis 官方文档中的 XML 配置部分,需要时直接进行查阅即可:mybatis – MyBatis 3 | 配置

下表是基于上述源码整理的常用 mybatis.configuration.* 配置参数:

配置项说明
mybatis.configuration.default-statement-timeout设置默认语句超时时间,它决定数据库驱动等待数据库响应的秒数。
mybatis.configuration.map-underscore-to-camel-case是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。

注意:以上两个配置项不能和 mybatis.config-location 一起使用。

例如,在我们项目的 application 配置文件里就可以像下面这样做配置:

mybatis:type-handlers-package: cn.javgo.demo.support.handlertype-aliases-package: cn.javgo.demo.modelconfiguration:map-underscore-to-camel-case: true
http://www.mmbaike.com/news/93213.html

相关文章:

  • 手表二级市场网站百度一下你就知道了
  • 怎么制作网站源码广告有限公司
  • 网站改版如何做301北京搜索引擎优化
  • 泉州专业网站设计技术公司灰色词快速排名方法
  • 南宁网站建设推广深圳网络营销推广渠道
  • 网络会议网站国内军事新闻最新消息
  • 浙江省嘉兴建设局官方网站网络市场营销
  • 广东海外建设监理有限公司网站卖链接的网站
  • 安徽网站建设制作seo网站关键词优化费用
  • 国内做电商网站seo技术顾问阿亮
  • 合肥网站开发 合肥网站优化老鬼seo
  • 网站建设技术交流教你如何建立网站
  • 怎样做自己的视频网站网站维护的主要内容
  • 阿里妈妈网站怎么做淘宝店铺运营推广
  • 如何做电子书下载网站建网站需要多少钱
  • 青岛网站建设的方案信息流广告怎么投放
  • 齐家网和土巴兔哪家好网站搜索引擎优化工具
  • 有什么网站可以做批发整站seo排名外包
  • 龙岩市建设局网站北京seo经理
  • 如何用万网做自己的网站北京优化靠谱的公司
  • 做网站开发最多能做几年百度空间登录
  • 给甜品网站做seo搜索引擎优化推广
  • 福建网站建设公google app下载
  • 用js做的个人酷炫网站成都网站建设创新互联
  • 哈尔滨网站开发建设公司百度推广案例及效果
  • 网站开发行业怎么样成人大学报名官网入口
  • 全国十大电商排名河北电子商务seo
  • 开发公司采取措施成立新班推动工作页面优化
  • 网络文化经营许可证发证机关南京怎样优化关键词排名
  • 外贸福步论坛登录企业网站seo优化公司