加载《MyBatis-01-基础讲解》成功,点击此处阅读
首页 →文档下载

MyBatis-01-基础讲解

以下为《MyBatis-01-基础讲解》的无排版文字预览,完整内容请下载

第三阶段 MyBatis­01­mybatis配置文件和简单使用 第三阶段 MyBatis­01­mybatis配置文件和简单使用 回顾 今天任务 教学目标 一、MyBatis简介 1.简介 2. 背景介绍 3.框架特点 4. 总体流程 5. 功能架构 6. 体系结构 7. MyBatis和数据交互的方式 7.1 使用传统的MyBatis API 7.2 使用Mapper接口 8.MyBatis配置文件 8.1. 核心配置文件 8.2 映射文件 二、MyBatis基本应用 1、搭建MyBatis技术环境 1.1、环境准备 1.2、下载MyBatis 1.3、数据库准备 1.4、数据准备 2、获取SqlSession对象 3、利用SqlSession实现CRUD操作 3.1、新增操作 3.2、删除操作 3.3、修改操作 3.4、查询操作 4、优化连接获取 4.1、编写工具类 4.2、使用注解 5、ResultMap映射定义 5.1、使用方法 5.2、需求 5.3、Mapper映射文件 5.4、Mapper接口定义 5.5、测试代码 课前默写 作业 面试题 回顾 1.spring的作用 2.什么是IOC/DI? 3.spring的设值注入步骤? 4.spring的构造子注入步骤? 5.设值注入和构造子注入的区别? 6.阐述servlet整合spring的要点 今天任务 1. MyBatis框架介绍 2. MyBatis的基本数据交互方式 3. MyBatis基础配置 4. MyBatis环境搭建 5. MyBatis的基础CRUD操作 教学目标 1. 掌握MyBatis框架原理 2. 掌握MyBatis的基本数据交互方式 3. 掌握MyBatis基础配置 4. 掌握MyBatis环境搭建 5. 掌握MyBatis的基础CRUD操作 一、MyBatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括 SQL Maps和Data Access Objects(sDAO) 下载地址: MyBatis下载地址 使用版本:3.4.5 1.简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接 口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录 2. 背景介绍 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参 数的手共设置以及结果集的检索,MyBatis使用简单的XML或者注解用于配置和原始映射,将接口和Java的 POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。 每个MyBatis应用程序主要利用SqlSessionFactory实例操作数据库,而SqlSessionFactory实例可以通过 SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类实例 获得。 用xml文件构建SqlSessionFactory实例是非常简单的事情,推荐在这个配置中使用类路径资源(classpath resource), 但你可以使用任何Reader实例,包括用文件路径或者f://开头的url创建实例。MyBatis有一个实用类(Resources),它有 很多方法,可以方便地从类路径以及其他位置加载资源。 3.框架特点 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于 学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。 通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。 解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维 护,更易单元测试。sql和代码的分离,提高了可维护性。 提供映射标签,支持对象与数据库的orm字段关系映射 提供对象关系映射标签,支持对象关系组建维护 提供xml标签,支持编写动态sql 4. 总体流程 1. 加载配置并初始化 触发条件:加载配置文件 处理过程:将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL 语句、结果映射配置),存储在内存中。 1. 接收调用请求 触发条件:调用Mybatis提供的API 传入参数:为SQL的ID和传入参数对象 处理过程:将请求传递给下层的请求处理层进行处理。 1. 处理操作请求 触发条件:API接口层传递请求过来 传入参数:为SQL的ID和传入参数对象 处理过程: (A)根据SQL的ID查找对应的MappedStatement对象。 (B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。 (C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。 (D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。 (E)释放连接资源。 1. 返回处理结果将最终的处理结果返回 5. 功能架构 Mybatis的功能架构分为三层: API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求 就会调用数据处理层来完成具体的数据处理。 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的 请求完成一次数据库操作。 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东 西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。 6. 体系结构 mybatis配置文件,包括Mybatis全局配置文件和Mybatis映射文件,其中全局配置文件配置了数据源、事务等信 息;映射文件配置了SQL执行相关的 信息。 mybatis通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory,即会话工厂。 通过SqlSessionFactory,可以创建SqlSession即会话。Mybatis是通过SqlSession来操作数据库的。 SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有 两个实现类,一个是普通执行器,一个是缓存执行器(默认)。 Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入 参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括java的简单类型、HashMap集 合对象、POJO对象类型。 7. MyBatis和数据交互的方式 MyBatis和数据库交互方式主要分两种: 使用传统的MyBatis提供的API~ 使用Mapper接口~ 7.1 使用传统的MyBatis API 通过调用MyBatis中SqlSession对象的方法从而达到与数据库交互的方式,有一些类似DBUtils的操作! 上述使用MyBatis的方法,是创建一个和数据库打交道的SqlSession对象,然后根据Statement Id 和参数来操作 数据库,这种方式固然很简单和实用,但是它不符合面向对象语言的概念和面向接口编程的编程习惯。由于面向接 口的编程是面向对象的大趋势,MyBatis为了适应这一趋势,增加了第二种使用MyBatis 支持接口(Interface)调用方式。 7.2 使用Mapper接口 MyBatis将核心配置文件中的每一个节点抽象为一个 Mapper 接口,而这个接口中声明的方法和跟节点中的节点项 对应,即 节点的id值为Mapper接口中的方法名称,parameterType值表示Mapper对应方法的入参类型,而resultMap 值则对应了Mapper接口表示的返回值类型或者返回结果集的元素类型。 根据MyBatis的配置规范配置好后,通过SqlSession.getMapper(XXXMapper.class) 方法,MyBatis会根据相应的 接口声明的方法信息,通过动态代理机制生成一个Mapper实例,我们使用Mapper接口的某一个方法时,MyBatis 会根据这个方法的方法名和参数类型,确定Statement Id,底层还是通过 SqlSession.select("statementId",parameterObject)~或者SqlSession.update("statementId",parameterObject)~等等 来实现对数据库的操作, MyBatis引用Mapper接口这种调用方式,纯粹是为了满足面向接口编程的需要。(其实还有一个原因是在于,面向 接口的编程,使得用户在接口上可以使用注解来配置SQL语句,这样就可以脱离XML配置文件,实现“0配置”) 8.MyBatis配置文件 8.1. 核心配置文件 在classpath下,创建SqlMapConfig.xml文件,该文件为核心配置文件,可以配置当前环境信息,加载映射文 件,加载properties文件,配置全局参数,定义别名等。  >  >  >  >  >  > 8.2 映射文件 在指定的目录下创建映射文件,配置要执行的statement,即增删改查等语句。 select * from user where id=#{id} select * from user where username like '%${value}%' select last_insert_id() insert into user(username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address}) delete from user where id=#{id} update user set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address} where id= #{id} 二、MyBatis基本应用 1、搭建MyBatis技术环境 1.1、环境准备 Jdk环境:jdk1.8 Ide环境:eclipse 4.6.1(STS) 数据库环境:MySQL 5.7/oracle10.2g Mybatis:3.4.5 1.2、下载MyBatis mybaits的代码由github.com管理,下载地址:https://github.com/mybatis/mybatis­3/releases Mybatis­3.4.5.jar:mybatis的核心包 Mybatis­3.4.5.pdf:mybatis的使用指南 junit junit 4.12 test org.mybatis mybatis 3.4.2 oracle OracleDriver 10.2 com.alibaba druid请点击下方选择您需要的文档下载。

  1. 托福听力学科分类(完全修正版)
  2. 示例文献
  3. 外部消防栓系统
  4. java100个经典例子
  5. Unit3Myschoolcalendar
  6. 【教学课件】Unit 9 Section A(人教)
  7. C 编程练习题大全(带答案)
  8. 阿里巴巴泰山版java开发手册
  9. 疫情教学作文
  10. +++罗兰贝格PPT模板-436页(绝对经典!)
  11. 四级词汇摘抄
  12. 1-s2.0-S******-main
  13. 10月8日-10月15日长难句
  14. spy band six
  15. USB_PD_R3_0V1.***2
  16. SPIN顾某某SPIN销售法 理财营销大招
  17. ann
  18. SystemTap_Beginners_Guide
  19. MLX90632-Datasheet-Melexis
  20. 办公桌面述职报告PPT模板

以上为《MyBatis-01-基础讲解》的无排版文字预览,完整内容请下载

MyBatis-01-基础讲解由用户“God_of_lost_Souls”分享发布,转载请注明出处
XXXXX猜你喜欢
回顶部 | 首页 | 电脑版 | 举报反馈 更新时间2021-03-23 09:03:52
if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/dd/df/41138.html'}ipt>if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/dd/df/41138.html'}ipt>