看完这专栏带你入门MyBatis框架(二)---MyBatis XML配置

1.MyBatis XML配置

       MyBatis的配置文件包含了影响MyBatis行为甚深的设置(setting)和属性信息。
1.1properties
这些属性都是可外部配置且可动态替换的,既可以在典型的java属性文件中配置,亦可通过properties元素的子元素来传递。例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
       这个例子中的username、driver、url、password将会由jdbc.property文件中对应的值来替换。这样就为配置提供了诸多灵活选择。如果属性在不只一个地方进行了配置,阿么MyBatis将按照下面的顺序来加载:

  • 在properties元素体内指定的属性首先被读取。
  • 然后根据properties元素中的resource属性读取类路径下属性文件或根据url属性指定的路径读取属性文件,并覆盖已读取的同名属性。
  • 最后读取作为方法参数的属性,并覆盖已读取的同名属性。
    因此,通过方法参数传递的属性具有最高优先级,resource/url属性中指定的配置文件次之,最低优先级的是properties属性中指定的属性。
    1.2typeAliases
           类型别名是为Java类型设置一个短的名字。它只和XML配置有关,存在的意义仅在于用来减少类完全限定名的冗余。例如:
    在这里插入图片描述
    当这样配置时,Student可以用在任何使用entity.Student的地方。
    1.3配置环境(environments)
           MyBatis可以配置成适应多种环境,这种机制有助于将SQL映射应用于多种数据库之中,现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者共享相同Schema的多个生产数据库,想要使用相同的SQL映射。许多类似的用例。
           不过要记住:尽管可以配置多个环境,每个SqlSessionFactory实例只能选择其一,所以,如果你想连接两个数据库,就需要创建两个SqlSessionFactory实例,每个数据库对应一个。而如果是三个数据库,就需要三个实例,以此类推,记起来很简单。每个数据库对应一个SqlSessionFacotory实例,为了指定创建哪种环境,需要将它作为可选的参数传递给SqlSessionFactoryBuilder即可。
    在这里插入图片描述
    1.4环境元素定义类如何配置环境
    在这里插入图片描述
    注意这里的关键点:
  • 默认的环境 ID(比如:default=“development”)。
  • 每个 environment 元素定义的环境 ID(比如:id=“development”)。
  • 事务管理器的配置(比如:type=“JDBC”)。
  • 数据源的配置(比如:type=“POOLED”)。
    默认的环境和环境 ID 是一目了然的。随你怎么命名,只要保证默认环境要匹配其中一个环境ID。
    事务管理器(transactionManager):JDBC-这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的得到的连接来管理事务范围。
    数据源(dataSource):dataSource元素使用标准的JDBC数据源接口来配置JDBC连接对象的资源。
    POOLED:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来,避免了创建新的连接实例时所必须的初始化和认证时间。这是一种使得并发Web应用快速响应请求的流行处理方式。
    映射器(mappers):既然MyBatis的行为已经由上述元素配置完了,我们现在就要定义SQL映射语句了。但是首先我们需要告诉MyBatis到哪里去找到这些语句。Java在自动查找这方面没有提供一个很好的方法,所以最佳的方法是告诉MyBatis到哪里去找映射文件。你可以使用相对于类路径的资源引用,或完全限定资源定位符,或类名和包名,例如:
    在这里插入图片描述
    这些配置会告诉了MyBatis去哪里找映射文件,剩下的细节就应该是每个SQL映射文件了,也就是后文我们要讨论的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路的苟狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值