MyBatis的配置文件SqlMapConfig.xml
完整学习路线:https://blog.csdn.net/qq_40163148/article/details/89668242
1.SqlMapConfig.xml包含哪些配置
mybatis全局配置文件SqlMapConfig.xml配置内容如下:
1.properties(属性)
1.properties 属性
需求:将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties
在SqlMapConfig.xml中就不用对配置信息进行硬编码
将数据库的连接参数只配置在db.properties中 原因:方便对参数进行管理,其他xml可以引用该db.properties
注意:mybatis 将按照如下规则读取配置文件
首先读取properties中的配置
然后读取resource或者url中的配置,它会覆盖已读取的属性值
最后读取 parameterType中的配置,它会覆盖已读取的属性值
因此parameterType有配置参数读取的最高优先级,resource和url次之,properties排在末尾
所以请注意不要让#{}中的名称和其他配置参数重名以免引起不必要的错误
建议:不要在properties中配置任何参数,应配置在properties文件中,在properties文件中的参数名应该有一定的意义
db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/dbpritise
jdbc.username=root
jdbc.password=LPG199812
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 和spring整合后environments配置将作废 -->
<!--
mybatis全局配置文件SqlMapConfig.xml配置内容如下:
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
-->
<!--
1.properties 属性
需求:将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties
在SqlMapConfig.xml中就不用对配置信息进行硬编码
将数据库的连接参数只配置在db.properties中 原因:方便对参数进行管理,其他xml可以引用该db.properties
注意:mybatis 将按照如下规则读取配置文件
首先读取properties中的配置
然后读取resource或者url中的配置,它会覆盖已读取的属性值
最后读取 parameterType中的配置,它会覆盖已读取的属性值
因此parameterType有配置参数读取的最高优先级,resource和url次之,properties排在末尾
所以请注意不要让${}中的名称和其他配置参数重名以免引起不必要的错误
建议:不要在properties中配置任何参数,应配置在properties中,在properties中的参数名应该有一定的意义
-->
<!--
2.settings 全局参数配置
mybatis框架可以配置一些全局运行参数
比如:开启二级缓存开启延迟加载等,全局参数将会影响到mybatis的运行行为(不要随意设置)
-->
<!--
3.typeAliases 别名(重点)
需求:
在map.xml中有许多statement,statement需要parameterType指定输入参数类型,需要resultType指定输出结果映射类型
如果在指定类型时输入类型全路径不方便进行开发,可以针对parameterType和resultType在mapper.xml中定义一些别名以方便开发
自定义别名:
单个别名: <typeAlias type="com.lipengge.mybatis.bean.User" alias="user"/>
批量别名: <package name="com.lipengge.mybatis.bean"/>(常用)
-->
<!--
4.typeHandlers(类型处理器)
mybatis通过类型处理器完成jdbc类型和java类型的转换
通常情况下,mybatis提供的类型处理器满足日常需不需要定义
-->
<!--
5.mappers(映射配置)
单个映射
1.xml文件映射
2.mapper接口映射(只用于mapper代理方法)
遵循一些规范:需要将mapper接口类和mapper.xml放在一起名称保持一致
批量加载(只用于mapper代理方法)(推荐使用)
<package name="com.lipengge.mybatis.mapper"/>
-->
<configuration>
<!--
使用properties加载db.properties文件
-->
<properties resource="db.properties">
<!-- properties中还可以这样配置 -->
<!-- <propertie name="" value=""></propertie>-->
</properties>
<!-- 全局配置参数 -->
<!--<settings>
</settings>-->
<!-- 别名 -->
<typeAliases>
<!-- 单个别名 -->
<!--<typeAlias type="com.lipengge.mybatis.bean.User" alias="user"/>-->
<!-- 批量别名 -->
<package name="com.lipengge.mybatis.bean"/>
</typeAliases>
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理器,事务由mybatis实现 -->
<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>
<mappers>
<mapper resource="sqlmap/User.xml"/>
<!--<mapper class="com.lipengge.mybatis.mapper.UserMapper"/>-->
<package name="com.lipengge.mybatis.mapper"/>
</mappers>
</configuration>
2.settings(全局参数配置)
mybatis框架可以配置一些全局运行参数
比如:开启二级缓存开启延迟加载等,全局参数将会影响到mybatis的运行行为(不要随意设置)
这里附上setting的参照表
3.typeAliases(类型别名)
3.typeAliases 别名(重点)
需求:
在map.xml中有许多statement,statement需要parameterType指定输入参数类型,需要resultType指定输出结果映射类型
如果在指定类型时输入类型全路径不方便进行开发,可以针对parameterType和resultType在mapper.xml中定义一些别名以方便开发
自定义别名:
单个别名: xml <typeAlias type="com.lipengge.mybatis.bean.User" alias="user"/>
调用别名
批量别名: xml <package name="com.lipengge.mybatis.bean"/>(常用)
调用别名
4.typeHandlers(类型处理器)
4.typeHandlers(类型处理器)
mybatis通过类型处理器完成jdbc类型和java类型的转换
通常情况下,mybatis提供的类型处理器满足日常需不需要定义
5.objectFactory(对象工厂)(不常用参考自带pdf)
6.plugins(插件)(不常用参考自带pdf)
7.environments(环境集合属性对象)(和springmvc整合后会被取代)
8.environment(环境子属性对象)(和springmvc整合后会被取代)
9.transactionManager(事务管理)(和springmvc整合后会被取代)
10.dataSource(数据源)(和springmvc整合后会被取代)
11.mappers(映射器)
5.mappers(映射配置)
单个映射
1.xml文件映射
2.mapper接口映射(只用于mapper代理方法)
遵循一些规范:需要将mapper接口类和mapper.xml放在一起名称保持一致
批量加载(只用于mapper代理方法)(推荐使用)
xml <package name="com.lipengge.mybatis.mapper"/>