千家信息网

MyBaits基本概念和原理

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,什么是MyBatis?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis
千家信息网最后更新 2024年11月25日MyBaits基本概念和原理

什么是MyBatis?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

MyBatis源码对应的结构流程

  1. SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句,此文件需要在SqlMapConfig.xml中加载。

                                                                                                                                                                          


mapper.xml

    

2.通过mybatis环境等配置信息构造SqlSessionFactory(即会话工厂)。

String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory =  new SqlSessionFactoryBuilder().build(inputStream);

3.由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行

SqlSession session = sqlSessionFactory.openSession();

4.mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。

5.MappedStatement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个MappedStatement对象,sql的id即是MappedStatement的id。

6.MappedStatement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,Executor通过MappedStatement在执行sql前将输入的java对象映射至sql中,输入参数映射就是JDBC编程中对preparedStatement设置参数。

7.MappedStatement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过MappedStatement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于JDBC编程中对结果的解析处理过程。

文件 配置 信息 对象 结果 参数 数据 数据库 接口 过程 执行器 输入 输出 工厂 底层 环境 类型 编程 优秀 普通 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 家政o2o软件开发三年规划 怎样做独立域名和服务器 网课平台怎么防止网络安全 网络安全生态考试答案 思科服务器如何开启http模式 中国著名的网络安全公司 软件开发项目服务总结 上海召开网络安全会议 网络安全防御措施计算机题 以文件为单位的数据库共享 网络安全需要怎样英语 做小区宽带要什么服务器比较好用 有智网络技术有限公司 软件开发小程序做什么科目 齐齐哈尔服务器机柜哪家好 互联网时代对科技创新的感想 深圳游戏软件开发公司排名 蚌埠app软件开发定制公司 重视网络安全是有好处的英文 unix服务器传输文件 服务器招新人 绩溪进口软件开发服务价格大全 传驰网络技术 软件开发平台组 常用的数据库管理有哪些 数据库第五版课后习题答案第七章 博兴瓷砖软件开发 青岛盈实互联网络科技有限是骗子 服务器性能测试参数设置 数据库 管理系统 作用
0