全局配置文件
-
properties
见名知意,是用来加载外部配置文件的
<!-- properties:可以加载外部配置文件,如存取数据库连接的信息 resource:文件所在的全路径 url:文件所在的磁盘路径或网络路径 --> <properties resource="jdbcConnection.properties"></properties>
-
settings
改变mybatis的运行时行为,具体见https://mybatis.org/mybatis-3/zh/configuration.html#databaseIdProvider
<!-- settings会改变 MyBatis 的运行时行为 mapUnderscoreToCamelCase:设置驼峰命名规则,如数据库中的LAST_NAME会被识别为lastName --> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
-
typeAliases
为Java类型设置一个别名,仅用于XML配置
<!-- typeAliases:设置类型别名,主要用在映射文件中的返回值类型 type:全类名 alias:新的别名,默认是类名的小写 package:批量设置别名,为包下及子包下所有的类设置默认的类名 如果有两个名称相同的类,可以在类上使用@Alias(“别名”)注解来设置别名 --> <typeAliases> <typeAlias type="com.yellowstar.mybatis.bean.Employee"></typeAlias> <package name="com.yellowstar.mybatis.bean"/> </typeAliases>
在映射文件中,返回值类型可以使用别名
<select id="getEmployeeById" resultType="employee"> select * from employee where id = #{id} </select>
-
typeHandles
类型处理器,将Java类型与数据库类型一一对应,大部分类型系统都已设置好
-
objectFactory
对象工厂,每次 MyBatis 创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成实例化工作。
-
plugins
插件,之后用到的时候详细展开
-
environments
环境变量,mybatis可以配置成适应多种环境,在实际开发过程中,开发、测试等环境都需要不同的配置,都可以使用environment解决
注意:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
<!-- environments:环境配置,default="development":设置默认的环境 environment:可以配置多个环境 transactionManager:事务管理器 dataSource:数据源 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments>
-
databaseIdProvider
数据库厂商标识,mybatis可以根据不同的数据库厂商执行不同的语句
<!-- databaseIdProvider:数据库厂商标识 --> <databaseIdProvider type="DB_VENDOR"> <property name="SQL Server" value="sqlserver"/> <property name="MySql" value="mysql"/> <property name="Oracle" value="oracle" /> </databaseIdProvider>
在映射文件中可以使用databaseId来设置数据库厂商
<select id="getEmployeeById" resultType="employee" databaseId="mysql"> select * from employee where id = #{id} </select>
-
mappers
映射器,所有全局文件配置完毕之后,我们要来定义sql映射语句,我们需要告诉mybatis去哪里找映射文件,而mappers的作用就是如此
<!-- mappers:映射器,告诉MyBatis到哪里去找sql语句 --> <mappers> <mapper resource="employeeMapper.xml"/> </mappers>