MyBatis学习笔记(二)——优化MyBatis配置文件

使用MyBatis的时候,MyBatis的配置文件可以说是相当重要的了。那么,我们先来看看MyBatis配置文件中的内容和顺序:

<properties>(属性)

<setting>(全局配置参数)

<typeAliases>(类型别名)

<typeHandlers>(类型处理器)

<objectFactory>(对象工厂)

<plugins>(插件)

<environments>(环境集合属性对象)
	<environment>(环境子属性对象)
		<transactionManager>(事务管理)
		dataSource>(数据源)
		
<mappers>(映射器)

注意:在编写Mybatis的配置文件时需要严格遵守配置内容的顺序,否则编译时会抛出异常。

 

一、<properties>属性

可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境内。例如创建db.properties文件,然后在SqlMapperConfig.xml中进行配置。db.properties文件内容如下:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/first_mybatis?useSSL=false&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=password.

然后在SqlMapperConfig.xml中进行配置,在<environments>标签中用${}符号做如下修改,如下:

注意:Mybatis将按照下面的顺序来加载属性

  • 1.在properties标签之间定义的属性首先被读取。
  • 2.然后会读取properties标签内部resource或url的属性,它会覆盖已读取的同名属性。
  • 3.最后读取parameterType(即insert标签或是update标签或是…)传递的属性,它会覆盖已读取的同名属性。

所以我们建议使用properties标签时,不要在properties标签之间定义属性,只引用在.properties文件中定义的属性,并且.properties文件中定义的key值要有一些特殊的规则。例如我上述定义key值时前面都加了jdbc.的前缀

二、<settings>全局参数配置

mybatis运行时可以调整一些全局参数(相当于软件的运行参数)。根据使用需求进行参数配置。但是要注意:小心配置,配置参数会影响mybatis的执行。

三、<typeAliases>属性

可以将parameterType、resultType中指定的类型通过别名引用。MyBatis提供了很多的别名如下:

这里我们采用自定义的别名,在SqlMapperConfig.xml中进行如下配置:

定义别名后这样我们在parameterType和resultType中使用时就不用再繁琐的指定类的全限定类名了。

四、<typeHandlers>属性

类型处理器将java类型和jdbc类型进行映射,mybatis提供了很多类型处理器,一般情况下够用了。

五、<mapper>映射器属性

之前我们在配置文件中使用的<mapper>标签内容为:<mapper resource=“mapper/UserMapper.xml”/>,接下来我要讲的是另一种在配置文件中映射mapper动态代理的方法。在配置文件中这样配置<mapper class=“mapper.UserMapper”/>,这样的要求需要保证UserMapper.xml文件和UserMapper.java在同一个包下且.xml文件和.java文件名要同名。

猜你喜欢

转载自blog.csdn.net/weixin_41072833/article/details/81170324