您的位置:首页 > 运维架构

mybatis详解——properties以及别名定义

2017-08-18 17:00 176 查看
IT优就业 2017-08-08 09:28

过去我们介绍了mybatis的增删改查入门实例,我们发现在 mybatis-configuration.xml 的配置文件中,对数据库的配置都是硬编码在这个xml文件中,如下图,那么我们如何改进这个写法呢?



我们将 数据库的配置语句写在 db.properties 文件中



在 mybatis-configuration.xml 中加载db.properties文件并读取



如果数据库有变化,我们就可以通过修改 db.properties 文件来修改,而不用去修改 mybatis-configuration.xml 文件

注意:我们也可以在中手动增加属性



那么这个时候是读取的username 是以 db.properties 文件中的 root 为准,还是以自己配置的 aaa 为准呢?

我们先看一段 properties 文件加载的源码



通过源码我们可以分析读取优先级:   

1、在 properties 内部自定义的属性值第一个被读取

2、然后读取 resource 路径表示文件中的属性,如果有它会覆盖已经读取的属性;如果 resource 路径不存在,那么读取 url 表示路径文件中的属性,如果有它会覆盖第一步读取的属性值

3、最后读取 parameterType 传递的属性值,它会覆盖已读取的同名的属性

前面两步好理解,第三步我们可以举个例子来看:

我们在 userMapper.xml 文件中进行模糊查询



这个时候你会发现无论你后台传给这个查询语句什么参数,都是 select * from user where username like '%root%'

mybatis 的别名配置   

在 userMapper.xml 文件中,我们可以看到resultType 和 parameterType 需要指定,这这个值往往都是全路径,不方便开发,那么我们就可以对这些属性进行一些别名设置



mybatis 默认支持的别名  





自定义别名    

一、定义单个别名

首先在全局配置文件 mybatis-configuration.xml 文件中添加如下配置:是在标签下



第二步通过 user 引用



二、批量定义别名

在全局配置文件 mybatis-configuration.xml 文件中添加如下配置:是在标签下



引用的时候类名的首字母大小写都可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: