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

巩义网站网站建设网站建设跟版网

巩义网站网站建设,网站建设跟版网,广州公司注册流程及费用,短网址生成器是什么意思org.apache.ibatis.session.Configuration 是 MyBatis 的核心配置对象,它包含了 MyBatis 运行时所需的几乎所有配置信息。可以把它理解为 MyBatis 的“大脑”或“配置中心”。在 MyBatis 的初始化过程中,会解析 XML 配置文件或通过 Java 代码构建一个 Co…

org.apache.ibatis.session.Configuration 是 MyBatis 的核心配置对象,它包含了 MyBatis 运行时所需的几乎所有配置信息。可以把它理解为 MyBatis 的“大脑”或“配置中心”。在 MyBatis 的初始化过程中,会解析 XML 配置文件或通过 Java 代码构建一个 Configuration 对象,MyBatis 的其他组件(如 SqlSessionFactoryExecutorMappedStatement 等)都会依赖这个 Configuration 对象来获取配置信息和执行操作。

Configuration 对象的主要作用:

  1. 保存全局配置信息: Configuration 对象保存了 MyBatis 的全局配置信息,这些信息通常在 mybatis-config.xml 文件中配置,或者通过 Java 代码设置。 这些信息包括:

    • Properties: 外部属性配置(可以通过 <properties> 标签或 Properties 对象加载)。
    • Settings: 全局设置,控制 MyBatis 的运行时行为(例如,是否开启缓存、是否使用延迟加载、是否自动映射等)。
    • Type Aliases: 类型别名,用于简化 XML 配置文件中的类型引用。
    • Type Handlers: 类型处理器,用于处理 Java 类型与 JDBC 类型之间的转换。
    • Object Factory: 对象工厂,用于创建结果对象。
    • Plugins: 插件,用于拦截 MyBatis 的核心执行流程(例如,拦截 SQL 执行、参数设置、结果映射等)。
    • Environments: 环境配置,可以配置多个数据源环境(例如,开发环境、测试环境、生产环境)。
    • DatabaseId Provider: 数据库厂商标识,用于根据不同的数据库厂商执行不同的 SQL 语句。
    • Mappers: 映射器配置,用于加载 SQL 映射文件或 Mapper 接口。
  2. 管理 MappedStatement: Configuration 对象维护了一个 MappedStatement 的注册表(Map<String, MappedStatement>)。MappedStatement 对象代表一个 SQL 语句(selectinsertupdatedelete),它包含了 SQL 语句的 ID、参数类型、结果类型、SQL 语句内容等信息。Configuration 对象通过 MappedStatement 的 ID 来查找和管理 MappedStatement

  3. 创建核心组件: Configuration 对象提供了一些方法来创建 MyBatis 的核心组件,例如:

    • newExecutor(Transaction tx, ExecutorType executorType): 创建 Executor 对象(执行器,负责执行 SQL 语句)。
    • newStatementHandler(...): 创建 StatementHandler 对象(语句处理器,负责处理 JDBC 的 Statement)。
    • newParameterHandler(...): 创建 ParameterHandler 对象(参数处理器,负责设置 SQL 语句的参数)。
    • newResultSetHandler(...): 创建 ResultSetHandler 对象(结果集处理器,负责将 ResultSet 映射为 Java 对象)。
  4. 提供配置信息的访问接口: Configuration 对象提供了一系列 getXXX() 方法,用于获取各种配置信息。例如:

    • getVariables():获取属性配置
    • isCacheEnabled(): 获取是否开启缓存。
    • isLazyLoadingEnabled(): 获取是否开启延迟加载。
    • getTypeAliasRegistry(): 获取类型别名注册表。
    • getTypeHandlerRegistry(): 获取类型处理器注册表。
    • getMappedStatement(String id): 根据 ID 获取 MappedStatement 对象。
    • getEnvironment():获取环境配置
  5. 插件机制的入口: Configuration 提供了添加和获取插件的方法 (addInterceptor(), getInterceptors()),使得插件可以拦截 MyBatis 的核心执行流程。

Configuration 对象的创建:

Configuration 对象通常由 SqlSessionFactoryBuilder 创建。SqlSessionFactoryBuilder 可以通过 XML 配置文件或 Java 代码来构建 Configuration 对象。

// 通过 XML 配置文件创建
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
Configuration configuration = sqlSessionFactory.getConfiguration();// 通过 Java 代码创建
Configuration configuration = new Configuration();
configuration.setCacheEnabled(true); // 设置缓存
configuration.setLazyLoadingEnabled(false); // 设置延迟加载
configuration.addMapper(UserMapper.class); // 添加 Mapper 接口
// ... 其他配置 ...
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

Configuration 对象的使用 (通常不需要直接操作):

在大多数情况下,我们不需要直接操作 Configuration 对象。MyBatis 内部会使用 Configuration 对象来执行各种操作。

总结:

Configuration 对象是 MyBatis 的核心配置对象,它包含了 MyBatis 运行时所需的几乎所有配置信息,并负责管理 MappedStatement、创建核心组件、提供配置信息的访问接口以及作为插件机制的入口。

http://www.dtcms.com/a/539477.html

相关文章:

  • 做网站需要去哪里备案深圳旅游
  • 上海市建设工程定额官方网站机房建设网站模板
  • 网站建设嗟商文件网站建设站点地图
  • 网站建设情况报告范文2023最建议买三款手机
  • 免费的企业黄页网站合肥网站建设公司哪家好
  • 网站建设服务的风险长沙做网站好的公司
  • 石家庄市住房城乡建设局网站什么是域名解析服务
  • 潮州市网站建设公司网店推广实训总结
  • 网站建设汇报稿刷百度指数
  • 苏州网站建设培训学校手表网站哪家好
  • 网站架构技术帮人做网站收多少钱
  • 海兴做网站可以免费做会计题的网站
  • 做淘宝客网站要不要备案西部数码做跳转网站
  • 乐清市建设规划局网站建设公司网站广告语
  • 徐州微信网站建设营销型网站建设 上海
  • 本地镇江网站建设win7自建网站
  • 做网站还有希望吗做网站对客户有什么帮助
  • 怎么自己网站搜不到了网站建设书籍下载
  • 合肥网站开发公司电话天津画册设计公司
  • 做电影网站要怎么样的主机做学校网站用什么模版
  • 大型网站搜索怎么做的手机网站改版公司
  • 备案期间网站如何访问国家建筑网站
  • 贾汪区住房和城乡建设局网站张家港网站 设计制作
  • WordPress多站点同步设置合肥网站开发 合肥网站优化
  • 徐州建设网站价格百度短链接
  • 网站开发外包费用的会计分录动漫新闻资讯站
  • 怎么做淘宝客采集网站哪个公司做网站好
  • 台州网站排名公司平面设计实例网站
  • 网站被挂马怎么办门户网站视频
  • 网站开发设计培训成都网站建设优点