mybatis--基于java的持久层框架

mybatis与jdbc对比

1)jdbc本身没有数据库链接池,程序运行时需要多次创建关闭链接池;mybatis自身支持链接池;

2)jdbc将sql写到程序中,修改sql需重新编译程序;mybatis将sql配到xml配置文件中,无需重新编译

3)jdbc对于返回结果resultmap需要手动处理;mybatis会将resultmap转换为java对象;

mybatis的功能架构分为三层:接口层,数据处理层和基础支撑层

接口层:主要是和数据层进行交互,提供给外部的接口api;以使用mapper接口为例,将配置文件中的每一个节点抽象为一个mapper接口,这个接口中声明的方法和xml中的id对应;paramtertype为方法的入参类型,resultmap为返回类型;

数据处理层:处理具体的sql查找,sql解析,sql执行和sql执行结果映射;主要执行:通过传入参数动态的构建sql;执行结果并返回;

基础支撑层:负责数据库链接,事务缓存

mybatis中#为一个占位符,可以预编译sql;$为一个拼接符;

mybatis的加载流程

1)程序启动时,通过springfactorbuilder加载mybatis全局配置文件;spring中时mybatis-config,通过mybatis的配置文件生成对应的sqlsessionfactory;

2)sqlsessionfactory去生成sqlsession,通过sqlsession会话可以链接数据库;

3)通过sqlsession可以匹配到对应的xml;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值