2、mybatis的全局配置文件(mybatis笔记)

(工程mybatis03

一、Mybatis的全局配置文件,配置内容如下:

  • properties(属性)
  • settings(全局配置参数)
  • typeAliases(类型别名)
  • typeHandlers(类型处理器)
  • objectFactory(对象工厂)
  • plugins(插件)
  • environments(环境集合属性对象)
  • environment(环境子属性对象,environments的自标签)
  • transactionManager(事务管理,environment的自标签)
  • dataSource(数据源,environment的自标签)
  • mappers(映射器)

二、properties(属性)

  • 需求:将数据库的连接参数单独配置在db.properties中,只需要在SqlMapperConfig.xml中加载该db.properties的属性值。这样就不需要在硬编码了。原因是方便对参数进行统一管理,其他的xml可以引用该配置文件。
  • 建议:不要在properties标签体内添加任何属性值,只将属性值定义在db.properties中,在db.properties中定义属性名要有一定的特殊性。比如jdbc.username

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3305/mybatis
jdbc.username=root
jdbc.password=walp1314

SqlMapConfig.xml文件中配置此文件

    <!-- 加载属性文件 -->
    <properties resource="db.properties">
        <!-- 在这里还可以配置一些属性名和值,这里的值是首先被读取的,然后再读取文件中的属性,同名的会覆盖
        最后才读取parameterType传递的属性,也会覆盖掉同名的,这里要注意!!! -->
    </properties>

于是数据库的相关配置就可以这样写:

<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />

三、setttings全局参数配置

Mybatis框架在运行时可以调整一些运行参数,比如开启二级缓存、延迟加载。参考mybatis-settings.xlsx文件。在<properties>标签后面配置。

四、typeAliases别名(重点)

需求:在mapper.xml中定义了很多StatementStatement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。
如果在指定类型时输入类型的全路径,不方便开发,可以定义一些针对上面两个参数定义一些别名,比如```parameterType="java.lang.Integer"``,对于这些类型mybatis都为我们定义好了。
而针对pojo类型的别名需要我们自己定义

    <!-- typeAliases-->
    <typeAliases>
        <!-- 针对单个别名定义 -->
        <typeAlias type="cn.itcast.pojo.User" alias="User"/>
    </typeAliases>

说明:之后我们在使用pojo的时候就可以直接写其别名。如

<select id="findUserByName" parameterType="java.lang.String" resultType="User">

但是这是单条记录的情况,对于多条记录的情况为(推荐使用):

    <!-- typeAliases-->
    <typeAliases>
        <package name="cn.itcast.pojo"/>
    </typeAliases>

说明:批量别名定义 ,需要指定一个包名,mybatis自动扫描pojo类,自动定义别名,别名就是类名(首字母大小或小写都行)。

五、typeHandlers(类型处理器)

在mybatis中通过typeHandlers完成jdbc类型和java类型的转换。一般不需要自定义,mybatis都帮我们做好了。

六、mappers映射器

单个映射

<mappers>
    <mapper resource="mapper/UserMapper.xml" />
</mappers>

还可以使用这种方式:

<mapper url="http://..."/>

当然还可以通过接口来进行映射,通过mapper接口来加载,要指定的不是映射文件了,而是指定的是class,需要遵循一定的规范:需要将mapper接口的类型和mapper.xml名称保持一致,且在一个目录,前提是使用的是mapper代理的方法。

<mapper class="cn.itcast.mapper.UserMapper"/>

但是这是针对映射文件很少的方式,如果映射文件很多则比较麻烦,下面看批量映射(推荐使用):

<package name="cn.itcast.mapper"/>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,423评论 0 4
  • Java数据持久化之mybatis 一. mybatis简介 1.1 原始的JDBC操作: Java 通过 Jav...
    小Q逛逛阅读 4,897评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 文/柴da瑞 1 前不久,和朋友在约定好的地方碰面,还没坐稳,对面的朋友就倾身过来,说:别动,这儿有一根白头发。 ...
    胡李胡荼阅读 241评论 0 4
  • 使用jquery mobil 语法 描述 $(this) 当前 HTML 元素$("p") 所有 元素$(...
    ZGKzm阅读 269评论 0 0