properties
用于定义属性及读取属性文件
<!--定义属性及读取属性文件-->
<properties resource="db.properties">
<property name="jdbc.url" value="jdbc:mysql://localhost:336/mybatis?characterEncoding=utf-8"/>
</properties>
属性文件:db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
使用定义的属性
这里的数据源我们使用的就是上面读取的属性文件里面的数据,同时他可以和属性定义一起使用,属性定义和配置文件同时使用的时候,配置文件的会生效
<!-- spring整合后 environments配置将废除 使用spring中的连接池 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<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>
settings
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为
比如使用sql打印等等等等功能,具体的查询官方文档 网址:http://www.mybatis.org/mybatis-3/zh/configuration.html#settings
<!--配置SQL打印-->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
typeAliases
用来给类定义别名用的,减少再一些配置的地方的书写量
<!--定义别名-->
<typeAliases>
<!--定义单个别名-->
<!--<typeAlias type="com.ctbu.domain.Customer" alias="Customer"/>-->
<!--定义包的别名(别名就是类名)-->
<package name="com.ctbu.domain"/>
</typeAliases>
这里就使用写上别名即可
<!--模糊查询用户-->
<select id="queryCustomerByPojo" parameterType="Customer" resultType="Customer">
select * from `customer` where cust_name like #{cust_name} and cust_id = #{cust_id}
</select>
typeHandlers
类型处理器
Plugins
插件是MyBatis提供的一个非常强大的机制,
MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。
通过插件来修改MyBatis的一些核心行为。
Environments
MyBatis可以配置多种环境,比如开发、测试和生产环境需要有不同的配置。
每种环境使用一个environment标签进行配置并指定唯一标识符
可以通过environments标签中的default属性指定一个环境的标识符来快速的切换环境
databaseIDProvider
定义数据库的id,指定是那个数据库的时候才能执行sql
<databaseIdProvider type="DB_VENDOR">
<property name="MYSQL" value="mysql"/>
<property name="DB2" value="db2"/>
<property name="Oracle" value="oracle" />
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>
mappers
用于加载映射文件
<!--加载映射文件-->
<mappers>
<mapper resource="com/ctbu/domain/Customer.xml"/>
</mappers>
有三种形式
- <mapper resource=" ">使用相对于类路径的资源
- <mapper class=" " /> 使用mapper接口类路径, 此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
- <package name=""/> 指定包下的所有mapper接口,此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中