properties:
-
可以用来读取外面的properties文件。例如,可以将数据库的有关配置全放到一个jdbc.properties文件内,然后用properties标签读取。
settings:
-
可以对MyBatis进行各项配置,里面有很多属性。例如,设置MyBatis使用驼峰命名法自动关联数据库内相关属性:<setting name="mapUnderscoreToCamelCase" value="false"/>
typeAliases:
-
主要用来给类起别名,还可以通过@Alias("u")注解来为每个类设置别名。注意:由于java有很多封装类型(如:String、List、Set、Integer)而MyBatis默认给这些封装类起了别名,所以我们的别名不能和MyBatis内置别名冲突。
<typeAliases>
<!-- 为每个类单独设置别名 -->
<typeAlias type="cn.mybatis.demo1.model.User" alias="user"/>
<!-- 可以为这个包内所有的类全部设置别名,默认是将类的首字母改小写 -->
<package name="cn.mybatis.demo1.model"/>
</typeAliases>
typeHandlers:
-
自定义处理器。
environments:
-
配置连接环境。mybatis可以配置多个环境,但是每个SqlSessionFactory只能帮定一个。如果要连接到多个数据库,就为每个数据库配置环境,然后再创建不同的实例。
<!-- default后跟默认连接环境的id,更改它的id即可切换连接环境 -->
<environments default="development">
<environment id="development"><!--当前使用的连接环境即这个环境 -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
<!-- 可以创建多个连接环境 -->
<environment id="ww">
<!-- 每个环境至少要有transactionManager和dataSource -->
<transactionManager type=""></transactionManager>
<dataSource type=""></dataSource>
</environment>
</environments>
mappers:映射每个接口的映射文件。关于mappers的用法总体可分为两种:
-
使用resource属性,后跟每个xml文件所在路径,如果多个xml文件则需要写多个mapper标签:
<mappers>
<mapper resource="cn/mybatis/demo1/model/UserMapper.xml"/>
</mappers>
-
使用class属性,后跟接口的全限定名,这种方法有两个条件:一是接口对应的映射xml必须和接口在同一个包下,二是它们两个名字(除了后缀)必须相同。这样也是需要为每个接口配置一个mapper。
<mappers>
<mapper class="cn.mybatis.demo1.mapper.UserMapper"/>
</mappers>
-
这种方法与上面那种方法原理一样,只是更简洁,mappers标签还有一个package子标签,他可以自动映射包内所有接口,所以我们只需配置一次就可以将包内所有接口全部映射:
<mappers>
<package name="cn.mybatis.demo1.mapper"/>
</mappers>