04|第四课:属性文件和全局参数以及类型转换器等

一、历史回顾

(一)、历史回顾


二、属性文件和全局参数以及类型转换器等

(一)、属性文件和全局参数

1、conf.xml中数据源的配置:将数据源信息特地建立一个文件(db.properties),然后动态引入。

新增db.propertis:

db.properties配置

修改conf.xml配置:

修改后的配置信息

2、Mybatis全局参数的设置(注意:这个一般是不要动的

表一
表二

如何配置呢?通过配置conf.xml的方式:

配置

3、别名:比如在xxxMapper.xml中的parameterType的中会出现“com.test.entity.Person”,这样长的字符串,可以采取起别名的方式进行简化。在conf.xml中设置。

(1)、设置当个别名:

conf.xml配置的别名的设置:

配置

xxxMapper.xml配置的别名的修改:(这里不区分大小写,字母对应别名的字母即可)

图示

(2)、批量设置别名:(设置单个别名得一个一个类的设置比较多,可以批量设置)

conf.xml配置的别名的设置:(设置的包里面的所有类定义别名,将包中的所有类批量定义别名:别名就是不带包名的类名,并且忽略大小写)

批量设置别名

(3)、Mybatis自带的别名,如下表所示:

表格

(二)、类型转换器

1、Mybatis自带一些常见的类型处理器。

例:int ---> number

Mybatis内置的类型处理器如表所示:

自带的类型

2、自定义Mybatis类型处理器

java ---> 数据库(jdbc类型)

例:让下面的boolean和number转换

实体类:Student :boolean  stuSex;(true:男   false:女)

表       :student  :number  stuSex; (1:男   0:女)

(1)、步骤:将上例转换

a、创建转换器:需要实现TypeHandler接口。通过阅读源码发现,此接口有一个实现类BaseTypeHandler(接口实现起来比较麻烦,所以这里采取简单的继承类方式,不过那个都是可以的)。

自定义的转换器

b、conf.xml配置:

配置

c、xxxMapper.xml配置:

对应修改配置的情况,有下面两种:

如果类中的属性表中的字段类型能够合理识别(String --- varchar),则可以使用resultType,否则使用resultMap(boolean --- int)。

如果类中的属性名表中的字段名能够合理识别(stuNo --- stuNo),则可以使用resultType,否则使用resultMap(id --- stuNo)。

具体配置如下:

xxxMapper.xml配置信息

当实体对象与数据库对象不一致的时候,也是在resultMap中配置,实体类中的id也修改成personId,例子中对应的位置都需要修改。如下图所示:

例:

conf.xml配置:类型转换配置

类型转换设置

xxxMapper.xml配置:关于类型转换和字段不一致的配置。

配置

实体类:

实体类

xxxMapper接口:

接口代码图

测试类:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容