Mybatis从入门到成神

走进mybatis基础

框架技术

概念:框架是一个提供了可重用的公共结构的半成品

主流框架的介绍

1.Struts2框架:
Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。

2.Hibernate框架;
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任
3.Spring框架:
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

4.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介绍及其环境搭建

MyBatis框架及ORM

1.Mybatis框架简介:它内部封装了通过jdbc访问数据库的操作,支持普通的SQL查询,储存过程和高级映射

2.什么是ORM:及对象/关系映射,是一种数据持久化技术。

3.MyBatis是ORM解决方案:通过Mybatis建立SQL关系映射,以便捷地实现储存,查询,更改,和删除等操作

Mybatis环境搭建

下载需要的jar文件

部署jar文件

创建Mybatis核心配置文件configuration。xml

创建持久化类和sql映射文件

创建测试类

Mybatis框架的优缺点及其适用场合

1.mybatis框架优点:(1)减少百分之50以上的代码量

​ (2)是最简单的持久化框架,小巧并且简单易学

​ (3)相当灵活,不会对应用程序或者数据库的现有设计强加如何影响

2.Mybatis框架的缺点:(1)SQL语句的编写工作量较大

​ (2)SQL依赖数据库,

3Mybatis框架适用场合:专注SQL本事,是一个足够灵活的DAO层解决方案

Mybatis的基本要素——核心配置文件

mybatis——config.xml文件结构:

1.properties元素

2.settings元素

3.typeAliases元素

4.environment元素

5.mappers元素

Sql映射文件

使用mybatis实现条件查询

sql映射文件

mapper

cache

cache-ref

resulMap

sql

insert

update

delete

select

使用resultMap完成查询结果的展现

1.resulType

2.reultMap

3.resultType和resultMap关联

4.resultMap的自动映射级别

resultMap自动映射级别和Mybatis缓存

Mybatis缓存

1。一级缓存

一级缓存是基于的hashMap本地缓存,作用范围为session域内

2.二级缓存

超出session范围之外,可以被所有SQLSession共享

3.三级缓存的配置

动态SQL

使用动态SQL完成多条件查询

if:利用if实现简单的条件选择[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wAkfinlU-1569663076237)(C:\Users\陈陈\Desktop\新建文件夹\8XIS24M79(UCVF8~A7W211H.png)]

choose:相当yujava中的swich语句,通常与when和otherwise搭配

where:简化SQL语句中where的条件判断

set:解决动态更新语句

trim:可以灵活地去除多余的关键字

foreach:迭代一个集合,通常用于in条件

使用if+where实现多条件查询

1.if

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j4Hre1sP-1569663076238)(C:\Users\陈陈\Desktop\新建文件夹\8XIS24M79(UCVF8~A7W211H.png)]

2.where

3.choose

4.foreach

使用if+trim实现多条件查询
在这里插入图片描述
使用动态Sql实现更新操作
在这里插入图片描述
使用if+set改造更新操作
在这里插入图片描述
使用if+trim改造修改操作
在这里插入图片描述
使用foreach完成复杂查询
在这里插入图片描述
MyBatis入参为List类型的foreach迭代
在这里插入图片描述
MyBatis入参为Map类型的foreach迭代
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值