版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/weixin_43014205/article/details/86162925
properties:
定义并读取属性文件
<properties resource="db.properties"/>
settings:
这是MyBatis中极为重要的调整设置,它会改变MyBatis的运行行为
<!--配置sql打印-->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
typeAliases:
定义别名 方便resultType的书写
定义单个别名
<typeAliases>
<typeAlias alias="Customer" type="com.itlike.domain.Customer"/>
</typeAliases>
给某个包定义别名 批量定义别名
<!--定义别名 别名即使这个包下的类名-->
<typeAliases>
<package name="com.itlike.domain" />
</typeAliases>
typeHandlers:
类型处理器,把数据库类型转换成java类型 开发当中极少使用
plugins:
MyBatis允许在映射语句的执行过程中的某一点进行拦截调用,通过插件来修改MyBatis的核心行为
Environment:
配置多种环境,如开发、测试、和生产环境需要有不同的配置
dataBaseIDProvider:
设置数据库提供厂商
<!--定义数据库厂商-->
<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>
设置后可以在相应的SQL语句上标注数据库厂商 意思是只有连接的是该厂商的数据库 才能执行该SQL语句
<select id="getCustomerByID" resultType="com.itlike.domain.Customer" databaseId="mysql">
select * from `customer` where cust_id=#{cust_id} and cust_name=#{cust_name}
</select>
表示只有连接的是mysql数据库,才能够执行该SQL
mapper:
加载映射文件,三种方式
(1)
<mappers>
<mapper resource="com/itlike/domain/Customer.xml"></mapper>
</mappers>
(2)
<mappers>
<mapper class="相对应的接口的全路径"></mapper>
</mappers>
(3)
当映射文件较多是,可以直接写一个包名,则该包下的配置文件都会被加载
<mappers>
<package name="com.itlike.mapper"/>
</mappers>
注意:使用第二种和第三种必须满足两个条件:1.书写SQL的XML文档和其对应的接口名称必须一致 2. 书写SQL的XML文档和其对应的接口必须在同一个目录下