1.SqlMapConfig 标签
SqlMapConfig 标签是 Mybatis 配置文件中的根标签,它用于配置 Mybatis 的全局属性,包括数据库连接信息、类型别名、事务管理器等
1. properties:用于指定外部属性文件的位置,可以用来配置数据库连接信息等敏感信息。
2. settings:用于配置 Mybatis 的全局属性,包括缓存、语句执行器等。
3. typeAliases:用于配置类型别名,方便在 SQL 映射文件中使用简单的类名代替完整的类名。
4. typeHandlers:用于配置类型处理器,用于将数据库中的数据类型转换成 Java 对象或将 Java 对象转换成数据库中的数据类型。
5. objectFactory:用于指定对象工厂,用于创建结果对象。
6. plugins:用于配置插件,可以在 SQL 执行过程中拦截并修改 SQL 语句或结果集。
7. environments:用于配置环境,包括数据源和事务管理器。
8. mappers:用于指定 SQL 映射文件的位置或 Mapper 接口的位置。
2.Mapper 标签
Mapper 标签是 Mybatis 中最重要的标签之一,它用于描述 SQL 映射关系。Mapper 标签有以下属性:
-
namespace:指定 Mapper 接口的完整路径名。
-
resultMap:指定结果映射关系,将查询结果映射成 Java 对象。
-
parameterMap:指定参数映射关系,将 Java 对象映射成 SQL 参数。
-
sql:定义可重用的 SQL 片段。
-
insert、update、delete、select:定义对应的 SQL 语句及参数映射关系。
ResultMap 标签
ResultMap 标签用于描述查询结果集与 Java 对象之间的映射关系。ResultMap 标签有以下属性:-
id:指定 ResultMap 的唯一标识符。
-
type:指定映射的 Java 对象类型。
-
extends:指定继承的 ResultMap。
-
discriminator:用于多表关联查询时进行分组判断。
-
constructor、id、result、association、collection:用于定义映射关系。
ParameterMap 标签
ParameterMap 标签用于描述 Java 对象与 SQL 参数之间的映射关系。ParameterMap 标签有以下属性:
-
-
id:指定 ParameterMap 的唯一标识符。
-
type:指定映射的 Java 对象类型。
-
parameter、result、parameterMap、resultMap:用于定义映射关系。
Sql 标签
Sql 标签用于定义可重用的 SQL 片段,可以在 SQL 映射文件中多次引用。Sql 标签有以下属性: -
id:指定 Sql 片段的唯一标识符。
-
databaseId:指定 Sql 片段适用的数据库类型。
-
lang:指定 Sql 片段使用的脚本语言。
-
statementType、parameterType、resultType:用于定义 Sql 片段的类型信息。
Insert、Update、Delete、Select 标签
Insert、Update、Delete、Select 标签分别对应 SQL 语句中的插入、更新、删除和查询操作。这些标签都有以下属性: -
id:指定 SQL 语句的唯一标识符。
-
parameterType:指定输入参数类型。
-
resultMap:指定结果映射关系。
-
flushCache、useCache:控制缓存行为。
-
timeout:指定 SQL 执行超时时间。
-
statementType:指定 SQL 类型。
-
keyProperty、keyColumn:仅对插入操作有效,用于获取自动生成的主键值。
动态SQL标签
if
where
choose
when
otherwise
foreach