前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻松学会MyBatis框架,只实战,不学究

轻松学会MyBatis框架,只实战,不学究

原创
作者头像
牛仔码农
修改2022-08-12 15:08:22
2680
修改2022-08-12 15:08:22
举报
文章被收录于专栏:Java学习教程

通过实际案例充分讲解了MyBatis的各种技术细节和应用场景,对于MyBatis中较难的技术点进行剖析,对于Mybatis源码进行了一定深入探讨。通过学习,能够掌握MyBatis全部的知识内容和各种技巧案例,直击一线开发中的遇到的所有问题,为以后的实战打下了坚实的基础

技术参要

  • MyBatis框架基本理解
  • MyBatis框架结构
  • MyBatis框架搭建
  • MyBatis配置文件以及映射文件讲解及编写
  • MyBatis获取参数值的方式
  • #{}与${}的区别
  • MyBatis中各种复杂条件查询功能
  • MyBatis批量删除,批量增加,批量更新等
  • MyBatis自定义映射
  • 关联关系的处理
  • MyBatis动态SQL
  • MyBatis的动态代理访问
  • 入参是map及返回值是map的封装,
  • MyBatis缓存机制等

MyBatis框架概述

MyBatis 框架: MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis 。2013 年 11 月迁移到 Github。 iBATIS 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。iBATIS 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAOs) 当前,最新版本是 MyBatis 3.5.7 ,其发布时间是 2021 年 4月 7日。

MyBatis框架解决的主要问题

减轻使用 JDBC 的复杂性,不用编写重复的创建 Connetion , Statement ; 不用编写关闭资源代码。直接使用 java 对象,表示结果数据。让开发者专注 SQ L 的处理。 其他分心的工作由 MyBatis 代劳。

MyBatis 可以完成:

注册数据库的驱动,例如 Class.forName(“com.mysql.jdbc.Driver”))

创建 JDBC 中必须使用的 Connection , Statement, ResultSet 对象

从 xml 中获取 sql,并执行 sql 语句,把 ResultSet 结果转换 java 对象

代码语言:javascript
复制
List<Student> list = new ArrayLsit<>();

ResultSet rs = state.executeQuery(“select * from student”);

while(rs.next){

Student student = new Student();

student.setName(rs.getString(“name”)); student.setAge(rs.getInt(“age”));

list.add(student);

}

关闭资源

ResultSet.close() , Statement.close() , Conenection.close()

MyBatis框架的结构

image.png
image.png

1、mybatis配置

SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。

mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

2、通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂

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

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术参要
    • MyBatis框架概述
      • MyBatis框架解决的主要问题
    • MyBatis框架的结构
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档