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

上海网站建设网页苏州市吴江建设局网站

上海网站建设网页,苏州市吴江建设局网站,北京网站建设最便宜的公司哪家好,咸阳seo推广文章目录 1.版本要求2.导入依赖3.自动配置2.可配置项 MyBatis-Spring-Boot-Starter 可以帮助你更快地在 Spring Boot 之上构建 MyBatis 应用。通过使用该模块我们能够快速实现以下目的#xff1a; 构建单体应用程序将几乎不需要样板配置使用更少的 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 BootJava3.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 添加以下依赖 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion${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 主要负责 SqlSessionFactory 和 SqlSessionTemplate 两个实例的创建和注册。 SqlSessionFactory: 这是 MyBatis 的核心类用于创建 SqlSession 对象。它存储了执行 SQL 命令所需的所有配置信息。Spring Boot 通过 SqlSessionFactoryBean 创建 SqlSessionFactory并自动将数据源、事务管理器、配置属性等所需的依赖注入其中。SqlSessionTemplate: 这是 SqlSession 的线程安全的实现代表了与数据库的一次会话。在 Spring 管理的事务中SqlSessionTemplate 可以确保使用的是同一个 SqlSession。SqlSessionTemplate 实例由 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 {// 配置SqlSessionFactoryBeanConditionalOnMissingBeanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {// ......}// 配置SqlSessionTemplateBeanConditionalOnMissingBeanpublic 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 SetString 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.hkea.cn/news/14268057/

相关文章:

  • 室内设计师之路网站百度做广告多少钱
  • 网站硬件建设公司怎样建设阿里巴巴网站
  • 做网站被骗培训网页
  • 山东建设兵团网站wordpress api 跨域
  • icp备案网站信息查询做论坛网站的元素
  • 搭建一个网站要多少怎么创业做电商
  • 不花钱的网站建设沧州做家装的公司网站
  • 门户网站开发 报价网站支付怎么做的
  • 营销型集团网站班级网站成品
  • 可免费商用的cms建站系统学生个人网页制作素材
  • 美化网站公司英文网站营销
  • 厦门旅游网站建设目的gvm网站是什么类的网站
  • 自己怎么做农好产品网站纪念平台网站建设
  • 广西网站建设seo优化给 小企业 建设网站
  • 怎样创建微网站网站被采集了 一个栏目不收录
  • ps制作网站模板台州seo网站推广
  • 南京移动网站建设报价北京公司摇号需要哪些资格条件
  • 推广网站加盟企业营销型网站建设的可行性分析
  • 网站商城建设合同免费下载企业网站设计素材
  • 网站制作与建设与网页制作wordpress的seo如何写关键词
  • 广州网站制作建设网站seo属于什么专业
  • 做网站的资金来源修改wordpress登录界面
  • 做公益的网站大兴手机网站建设
  • 大连建站费用免费开发平台网站
  • wordpress建站教程无极app定制开发公司网站模板
  • 网站推广做多大尺寸wordpress搭二级菜单404
  • 做家电选招标采购哪一个网站好免费com域名网站
  • 网站制定北京各大网站推广平台哪家好
  • 芜湖公司做网站宏大建设集团网站
  • 需要登陆的网站如何做爬虫lnmp wordpress php7