mybatis四个内置对象
时间: 2024-07-23 21:01:24 浏览: 86
MyBatis是一个流行的持久层框架,它通过简单的XML配置和注解实现了SQL映射和对象映射。在MyBatis的工作流程中,有四个重要的内置对象:
1. **SqlSession**: 这是MyBatis的核心对象,用于执行数据库操作。你可以创建多个SqlSession实例,每个实例对应一次事务处理。它可以执行CRUD操作,查询数据以及管理事务。
2. **Mapper Interface**: 这是用户自定义的接口,包含了SQL查询的方法。MyBatis会将这些接口的方法和相应的XML映射文件关联起来,实现动态SQL。
3. **Mapper XML**: XML配置文件中定义了具体的SQL语句、参数类型和结果集映射。这个文件包含了对数据库操作的具体描述,如select, insert, update, delete等操作。
4. **Parameter Object**: 用户传递给Mapper方法的对象,这些对象通常包含业务需要的数据,它们会被MyBatis自动绑定到SQL的占位符上。
相关问题
Mybatis四大核心对象及四大内置对象
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 支持对象嵌套对象的映射。你可以使用 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 属性的映射。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)