6.dubbo常用的xml配置有哪些_Java中Mybatis学习总结(三)SqlMaponfig.xml全局配置文件解析...

经过上两篇博文的总结,对Mybatis中的开发方法和流程基本掌握了,这一节主要来总结一下Mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置.

首先看一下该全局配置文件中都有哪些可以配置的东西:

a2c3a23d900a480f9d1db8c9e0f0e44f

从前面的博文中可以看出,是用来配置mybatis的环境的,在和Spring整合前是由Mybatis自己管理的,但是和Spring整合后,这些配置都将被废弃掉,部分在前面已经有提到过,这里就不再赘述了。然后objectFactory和plugins一般我们不用,所以在这里就不总结了,类型处理器是mybatis中用来完成jdbc类型和java类型之间转换的,mybatis默认支持的类型处理器基本够我们使用了,一般不需要自定义。这篇博文主要来总结一下剩下的几个配置的用法。

c97964b5-14c7-4f16-a95e-f80c996be059

1、properties属性

作用:将数据连接单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值,在SqlMapConfig.xml中就不需要对数据库连接参数进行硬编码。数据库连接参数只配置在db.properties中,方便对参数进行统一管理,其它xml可以引用该db.properties。

db.properties的内容:

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatisjdbc.username=rootjdbc.password=root

在SqlMapConfig.xml中加载db.properties

properties特性:

注意:

(1)在properties元素体内定义的属性优先读取。

(2)然后读取properties元素中resource或url加载的属性,它会覆盖已读取的同名属性。

(3)最后读取parameterType传递的属性,它会覆盖已读取的同名属性。

建议:

 (1)不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。

(2)在properties文件中定义属性名要有一定的特殊性,如xxxx.xxxx(jdbc.driver)。

2、settings全局参数设置

mybatis框架运行时可以调整一些运行参数。比如,开启二级缓存,开启延迟加载等等。全局参数会影响mybatis的运行行为。

Mybatis-settings的配置属性以及描述

389a2d32625147f8975fc5ce4f557343
136f433822e542c9ad196b09a901e91e

官方文档settings的例子:

4ee2eb5e-b501-4002-8ca8-c552ed892475

3、typeAiases(别名)——重点掌握

这是配置中的一个重点,我们知道,在mapper.xml中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。如果在指定类型时输入类型全路径,有时候会很长,不方便进行开发,那么我们就可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名来定义,方便开发。

3.1、Mybatis默认支持的别名

4dd57dea42fe4fb4bab755c7ba9cb0ee
25605b7e916941f598ac0617e797264e

3.2、自定义别名

3.2.1、单个别名定义(在SqlMapConfig.xml)

上面讲的是Mybatis默认支持的一些别名,但是针对pojo的需要我们就要自定义别名了,比如我们将自己定义的User对象取个别名为user,如下:

UserMapper.xml中引用别名(输入参数或者输出结果为com.mybatis.entity.User时,就可以用user来代替了):

   select * from t_user where id=#{id}

3.2.2、批量定义别名(常用)

但是问题来了,如果工程中有很多pojo,那岂不是要一个一个定义……这得定义多少个啊,所以mybatis帮我们解决了这个问题,它提供了批量别名的定义,如下:

这就爽了,如果进行了上面这样设置,那么所有放在com.mybatis.entity包下的pojo都可以不用定义了,直接使用类名就可以了,所以我们直接使用user即可。毫无疑问,开发中肯定使用这个批量的别名定义。

fea5e334-9703-43c3-a209-579404d88ac5

4、Mappers(映射配置)

4.1、通过resource加载单个映射文件

 

4.2、通过Mapper接口加载单个映射文件

按照上边的规范,将mapper.java和mapper.xml放在一个目录,且同名。

20fa0fb15af04cbd9f82af22709617c8

4.3、批量加载Mapper(推荐使用)

但是还是有个弊端,就跟上面那个别名的配置一样,如果现在有好多个Mapper怎么办,所以mybatis也给我们提供了批量加载方法:我们只要指定Mapper接口的包名,Mybatis自动扫描包下面所有的Mapper接口进行加载。当然,还是要遵循上面的那个规范。配置如下:

这样com.mybatis.mapper包下的所有Mapper.xml映射文件都可以加载了,这就更加简洁了。在开发中推荐使用这种批量加载映射文件的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值