ORM框架之MyBatis

MyBatis框架

1、由什么构成?

​ Mapper配置,注解/XML。不推荐使用注解,因为修改sql后java文件需要重新编译
​ Mapper接口,Dao层接口,(只需要写接口,不需要写实现类:需要遵守约定)
​ 接口书写要遵循约定:方法名和配置文件的id值相同
​ 参数类型必须相同parameterType
​ 返回值类型相同resultType
​ …

2、MyBatis开发时常用对象:

​ SqlSessionFactory:SqlSession工厂,调用他的openSqlSession()产生SqlSession
​ SqlSession:类似JDBC的Connection连接对象
​ Executor:MyBatis的Mapper语句都是通过他来执行

3、MyBatis四大核心对象:

​ StatementHandler:(负责sql语句)数据库处理对象
​ PrameterHandler:处理sql中的参数
​ Executor:同上,Mapper的执行器
​ ResultSetHandler:处理sql的返回结果集

4、MyBatis四大处理器:

StatementHandler(SQL)—>PrameterHandler(SQL参数)–>ResultSetHandler(返回结果集)
TypeHandler(类型转换器)。例parameterType、resultType中可能会使用

5、MyBatis执行流程:

​ 加载配置文件(核心配置文件、映射文件)---->创建会话工厂(SqlSessionFactory)----->创建会话(SqlSession)---->创建执行器(Executor)---->封装SQL对象(MappedStatement 入参、返回结果)---->DB

6、MyBatis如何处理一对一、一对多、延迟加载的?

一对一、延迟加载

<resultMap id="userResultMap" type="com.sms.pojo.User">
        <id property="userId" column="user_id"/>
        <result property="loginName" column="login_name"/>
        <result property="password" column="password"/>
        <association property="emp" select="select * from emp" 
        column="emp_id"/>
</resultMap>

一对多

<resultMap id="userResultMap" type="com.sms.pojo.User">
    <id property="userId" column="user_id"/>
        <result property="loginName" column="login_name"/>
        <result property="password" column="password"/>
        <collection property="" property="emp" select="select * from emp" column="emp_id"/>
</resultMap>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值