l配置文件基础配置详解

更新时间:2023-05-12 02:32:06 阅读: 评论:0

⼀、l 的作⽤
⼆、Mybatis核⼼配置⽂件结构
configuration配置
properties 可以配置在Java属性配置⽂件中
ttings 修改Mybatis在运⾏时的⾏为⽅式
typeAlias 为Java类型命名⼀个别名(简称)
typeHandlers 类型处理器
objectFactory 对象⼯⼚
plugins 插件
environments 环境
environment 环境变量
transactionManager 事务管理器
dataSource 数据源
mappers 映射器
三、配置⽂件讲解
configuration
configuration元素是整个XML配置⽂件的根节点,相当于MyBatis的总管
MyBatis所有的配置信息都会存放在这⾥⾯。Mybatis提供了设置这些配置信息的⽅法。
Configuration可从配置⽂件⾥获取属性值,也可以通过程序直接设置
properties元素
properties元素描述的都是外部化、可替代的属性
1. 通过外部指定的⽅式(通过在典型Java属性配置⽂件如databa.properties)
databa.properties
sql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/smbms
ur=root
password=root
!--引⼊ databa.properties ⽂件-->
<properties resource="databa.properties"/>
……
<dataSource type="POOLED">
<property name="driver"value="${driver}"/>
<property name="url"value="${url}"/>
<property name="urname"value="${ur}"/>
<property name="password"value="${password}"/>
</dataSource>
上述代码中,driver url urname password属性将会⽤databa.properties⽂件中的值来替换
2. 直接配置为xml,并使⽤这些属性对配置项实现动态配置
!-- properties元素中直接配置property属性-->
<properties>
<property name="driver"value="sql.jdbc.Driver"/>
<property name="url"value="jdbc:mysql://127.0.0.1:3306/smbms"/><property name="ur"value="root"/>
<property name="password"value="root"/></properties>
……
<dataSource type="POOLED">
<property name="driver"value="${driver}"/>
<property name="url"value="${url}"/>
<property name="urname"value="${ur}"/>
<property name="password"value="${password}"/>
</dataSource>
在上述代码中,driver url urname password将会由properties元素中设置的值来替换
3. 两种⽅式优先级
resource属性值的优先级⾼于property⼦节点配置的值
ttings元素
ttings元素的作⽤是设置⼀些⾮常重要的选项,⽤于设置和改变Mybatis运⾏中的⾏为
ttings元素⽀持的属性
cacheEnabled : 对在此配置⽂件下的所有cache进⾏全局性开/关设置 - true|fal
lazyLoadingEnabled : 全局性设置懒加载。如果设为fal,则所有相关联的设置都会被初始化加载 -true|fal
autoMappingBehavior : Mybatis对于resultMap⾃动映射的匹配级别 -PAPTLAL|NONE|FULL
type Alias元素
配置类型别名,通过与MyBatis的SQL映射⽂件相关联,减少输⼊多余的完整类名,以简化操作
1.基础配置
<typeAlias>
<!--这⾥给实体类取别名,⽅便在mapper配置⽂件中使⽤-->
<typeAlias alias="ur"type="cn.smbms.pojo.Ur"/>
<typeAlias alias="provider"type="cn.smbms.pojo.Provider"/>
……
</typeAlias>
2.简便配置
第⼀种⽅法弊端在于:如果⼀个项⽬中有多个POJO,需要⼀⼀进⾏配置。所以在第⼆种⽅法中,我们通过name属性直接指定包名,让Mybatis⾃动去扫描指定包下的JavaBean,并设置⼀个别名
<typeAlias>
<package name="cn.smbms.pojo"/>
</typeAlias>
<mapper namespace="cn.smbms.dao.ur.Ur Mapper">
<!--查询⽤户表记录数-->
<lect id="count"result Type="int">lect count(1) as count from smbms_ur
</lect>
<!--查询⽤户列表-->
<lect id="get Ur List"result Type="Ur">lect * from smbms_ur/lect>
</mapper>
另外,Mybatis已经为许多常见的Java基础数据类型内建了相应的类型别名。⼀般都与其映射类型⼀致,并且都是⼤⼩写不敏感的,⽐如映射的类型int Boolean String Integer等,它们的别名都是int Boolean String Integer
environments元素
配置不同的运⾏环境
但是不管增加⼏套运⾏环境,都必须要明确选择出当前唯⼀的⼀个运⾏环境。这是因为每个数据库都对应⼀个Sql Session Factory 实例,需要指明哪个运⾏环境被创建,并把运⾏环境中设置的参数传递个Sql Session Factory Builder
配置如下
<environments default="development">
<!--开发环境-->
<environment id="development">
<transaction Manager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver"value="${driver}"/>
<property name="url"value="${url}"/>
<property name="urname"value="${ur}"/>
<property name="password"value="${password}"/>
</dataSource>
</environment>
<!--测试环境-->
<environment id="test">
……
</environment>
</environments>
上述代码中,需要注意以下⼏个关键点:
(1)默认的运⾏环境ID:通过default属性来指定当前的运⾏环境ID为development,对于环境ID的命名要确保唯⼀。
(2)transactionManager事务管理器:设置其类型为JDBC(My Batis有两种事务管理类型,即JDBC和MANAGED),直接使⽤JDBC的提交和回滚功能,依赖于从数据源获得连接来管理事务的⽣命周期。
(3)dataSource元素:使⽤标准的JDBC数据源接⼝来配置JDBC连接对象的资源。My Batis提供了三种数据源类型UNPOOLED、POOLED、JNDI),这⾥使⽤POOLED数据源类型。该类型利⽤“池”的概念将JDBC连接对象组织起来,减少了创建新的连接实例时所必需的初始化和认证时间,是My Batis实现的简单的数据库连接池类型,它使数据库连接可被复⽤,不必在每次请求时都去创建⼀个物理连接。对于⾼并发的Web应⽤,这是⼀种流⾏的处理⽅式,有利于快速响应请求。
mappers
⽤来定义SQL的映射语句
1.使⽤类资源路径获取资源
<mappers>
<mapper resource="cn/smbms/dao/ur/l"/>
<mapper resource="cn/smbms/dao/provider/l"/></mappers>
2.使⽤URL获取资源
<mappers>
<mapper url="file:///E:/sqlmappers/l"/>
<mapper url="file:///E:/sqlmappers/l"/>
</mappers>
四、参考资料
《SSM轻量级框架应⽤实战》

本文发布于:2023-05-12 02:32:06,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/885922.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置   设置   连接   类型
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图