mybatis底层map
时间: 2023-11-24 14:34:41 浏览: 69
mybatis-mapper
MyBatis底层使用的是一个名为`MappedStatement`的接口来描述SQL语句的信息,包括SQL语句、输入参数、输出结果映射等。`MappedStatement`中包含了一个`BoundSql`对象,该对象封装了SQL语句以及对应的参数信息。在执行SQL语句时,MyBatis会将`MappedStatement`对象传递给`Executor`接口的实现类,由其负责执行SQL语句,并将结果映射为Java对象。
在执行SQL语句时,MyBatis会先将SQL语句中的占位符替换为真实的参数值,然后将SQL语句发送给数据库执行。执行结果会被封装为Java对象,再根据`ResultMap`的映射关系进行结果映射,最终返回给调用方。
除了`MappedStatement`和`BoundSql`之外,MyBatis底层还使用了许多其他的类来协助执行SQL语句,例如`SqlSession`、`Executor`、`ParameterHandler`、`ResultSetHandler`等等。这些类共同协作,实现了MyBatis的核心功能。
阅读全文