Mybatis四大核心对象及四大内置对象
时间: 2023-09-06 17:08:57 浏览: 62
Mybatis的四大核心对象是:
1. SqlSessionFactory:用于创建 SqlSession 对象的工厂。SqlSession 是 Mybatis 与数据库交互的核心对象。
2. SqlSession:代表与数据库的一次会话,可以用于执行SQL语句、获取映射器等操作。在使用完后需要手动关闭。
3. Mapper接口:定义了与数据库交互的方法,通过注解或者XML配置与SQL语句的映射关系。
4. Mapper映射文件:用于定义 Mapper 接口中方法与实际 SQL 语句之间的映射关系。可以通过 XML 配置或者注解的方式实现。
而四大内置对象是:
1. ParameterHandler:负责处理 SQL 语句中的参数,将 Java 对象转换成 JDBC 可识别的参数类型。
2. ResultSetHandler:负责处理 SQL 执行结果集,将结果集转换成 Java 对象。
3. StatementHandler:负责处理 JDBC Statement 相关操作,如设置参数、执行 SQL 语句等。
4. Executor:负责 SQL 语句的执行,是 Mybatis 的核心组件之一。通过调用 StatementHandler 完成 SQL 语句的执行,并通过 ResultSetHandler 处理结果集。
相关问题
Mybatis的核心对象是什么?
Mybatis的核心对象是SqlSessionFactory。它负责创建SqlSession实例,SqlSession是与数据库交互的主要接口。SqlSessionFactory使用配置文件或者Java代码来定义数据库连接信息和映射关系,通过它可以获取到一个可用的SqlSession对象来执行SQL语句。
mybatis 对象嵌套对象
MyBatis 支持对象嵌套对象的映射。你可以使用 MyBatis 的 ResultMap 来实现这个功能。ResultMap 是 MyBatis 中用来映射查询结果集到 Java 对象的一种机制。你可以在 ResultMap 中定义嵌套 ResultMap,来实现对象嵌套对象的映射。下面是一个例子:
```
<resultMap id="userResultMap" type="User">
<id property="id" column="user_id"/>
<result property="username" column="username"/>
<result property="email" column="email"/>
<result property="address" column="address"/>
<result property="phone" column="phone"/>
<association property="department" javaType="Department">
<id property="id" column="department_id"/>
<result property="name" column="department_name"/>
<result property="code" column="department_code"/>
</association>
</resultMap>
```
在上面的例子中,User 对象中有一个 Department 对象的引用,使用 association 标签定义 Department 对象的映射。在 ResultMap 中,你也可以使用 collection 标签来定义对象中的 List 或 Set 属性的映射。