从configuration根节点开始,mybatis的配置文件顺序不能改变,我们就从第一个开始。
1.properties
<!--引入外部配置文件,类似于Spring中的property-placeholder
resource:从类路径引入
url:从磁盘路径或者网络路径引入,基本不用
-->
<properties resource="db.properties"></properties>
2.settings
mybatis的设置选项,可以改变mybatis运行时行为,有很多不常用,包括懒加载,缓存是否开启等
<!--用来控制mybatis运行时的行为,是mybatis中的重要配置-->
<settings>
<!--设置列名映射的时候是否是驼峰标识-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
3.typeAliases
<typeAliases> <!--设置包里面所有类的别名,会将类的名字作为别名(忽略大小写)--> <package name="com.yang.pojo"/> </typeAliases>
也可以在实体类上直接@Aliases对具体的类设置别名,别名设置后,resultType就可以直接等于别名
4.environments
<!--environments 可以多个数据库环境 default 是默认的数据库环境 --> <environments default="development"> <environment id="development"> <!--transactionManager 事务管理器 type:JDBC 启用jdbc的事务 :MANAGED 不运用事务--> <transactionManager type="JDBC"/> <!--数据源 type 指定连接池 POOLED 使用mybatis自带的连接池 UNPOOLED 不适用连接池 一般我们用德鲁伊的连接池--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/yang?serverTimezone=Asia/Shanghai"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments>
5.databaseIdProvider
<!--
在不同的数据库中,可能sql语句的写法是不一样的,为了增强移植性,可以提供不同数据库的操作实现
在编写不同的sql语句的时候,可以指定databaseId属性来标识当前sql语句可以运行在哪个数据库中
-->
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"/>
<property name="SQL Server" value="sqlserver"/>
<property name="Oracle" value="orcl"/>
</databaseIdProvider>
然后同一个<select>等语句设置不同链接方式,id一定要相同