delphi读取xml中的内容property name传递参数_[MyBatis]-MyBatis框架-03-SqlMapConfig.xml

MyBatis

SqlMapConfig.xml

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:

可通过官方文档进一步了解相关的配置:http://www.mybatis.org/mybatis-3/zh/configuration.html

configuration 配置

properties 属性

settings 设置

typeAliases 类型别名

typeHandlers 类型处理器

objectFactory 对象工厂

plugins 插件

environments 环境

environment 环境变量

transactionManager 事务管理器

dataSource 数据源

databaseIdProvider 数据库厂商标识

mappers 映射器

在配置相关属性的时候必须注意属性配置的先后顺序,如果打乱顺序进行配置,则相应的配置文件会报错,需要注意这点

properties 属性

如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载:

a.在 properties 元素体内指定的属性首先被读取

b.然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性

c.最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。

4e899d11ae7d5e9385ed3b171ea5bcac.png

分析:在properties元素体内的property属性先被读取,由于加载了配置文件db.properties,相应地通过resource属性读取属性文件中的内容会覆盖掉同名属性定义的内容,虽然用户名显示定义为“wkaka”,但后续被属性文件中读取的内容覆盖,因此可以显示正常的数据信息

settings

settings是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。下表描述了设置中各项的意图、默认值等。

14aa55d60843d9231459986cdb89dfd7.png

a60811864757db51542f17182550b48e.png

ba6bb5592c40caaeaf39b8eba18945c3.png

e5f317281b7d7904af835b9497c858df.png

typeAliases别名

类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。例如:在Mapper.xml定义的很多的statement 输出结果映射类型可以使用别名减少名称的冗余

a.MyBatis默认支持的别名

1de0d4fce9d48edbe4afa233a5236111.png

c540d9ea8ffe441bbc3a93be8b74446a.png

举例说明:java.lang.Integer等价于int

37b3ca1bba89006fedde3728ccdb462a.png

改为如下 使用系统支持的别名

50de0dbff19a14a662a6cf844f400357.png

b.自定义别名

自定义别名可分为:定义单个别名和批量定义别名,案例列举如下

在SqlMapConfig.xml中配置如下内容:

5e4c9078872803e413cedf9ca42386d9.png

原始用法:

a9073fc3e88410172c6c54da204013c9.png

使用自定义别名:

9d425c382140d6c595e601fca14cd5cb.png

8fdd36e0b498eab833fa7caaa1d5193e.png

需要注意的是,如果是定义个别名则需要指定的别名才生效,如果是批量定义别名,别名即为类名或者是类名首字母小写

environments配置环境

MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者共享相同 Schema 的多个生产数据库, 想使用相同的 SQL 映射。许多类似的用例。

注意:尽管可以配置多个环境,每个 SqlSessionFactory 实例只能选择其一

<environments 

注意这里的关键点:

  • 默认的环境 ID(比如:default="development")
  • 每个 environment 元素定义的环境 ID(比如:id="development")
  • 事务管理器的配置(比如:type="JDBC")
  • 数据源的配置(比如:type="POOLED")

默认的环境和环境 ID 是自解释的,因此一目了然。可以对环境随意命名,但一定要保证默认的环境 ID 要匹配其中一个环境 ID。

Mapper映射配置

Mapper映射配置由多种方式:

a.通过resource加载单个配置文件

b.通过mapper接口加载单个mapper

c.批量加载mapper(推荐)

efa6a463bb77236140806e299fac8bc3.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值