Mybatis

介绍

官网地址

什么是Mybatis?

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

CRUD语句(增、删、改、查)

-	查:select   *    from    表名    where 
-	增:insert    into    表名(字段名)     values(值,依次填写)
-	改:update   表名   set 字段名 =“新值”    where   条件
-	删:delete   from   表名   where   条件

两张表数据(用于学习)
在这里插入图片描述
实体类
在这里插入图片描述
这里直接从mapper开始
在这里插入图片描述

规则

1.如果数据库中表字段名称(结果集字段)与实体类属性名称不一致,则mybatis无法自动映射。
在这里插入图片描述此时就需要用到resultMap,他是Mybatis提供的一个属性,支持用户手动映射
在这里插入图片描述
在这里插入图片描述2.一对一封装数据,例如一个员工所属一个部门
知识点:
- 如果单表查询首选resultType
- 如果进行关联查询,首选resultMap
- 如果sql的结果集中出现了重名字段,则Mybatis映射必然报错
语法:
- association表示一对一封装
- property当前猪对象的属性名称
- javaType指定属性的类型

在这里插入图片描述3.一对多封装
一对多封装:
- collection: 封装集合类型
- ofType: 指定集合内部(泛型)的对象类型
在这里插入图片描述
4.动态SQL查询
知识点:
- mybatis中如何遍历数组
- foreach标签用法
- 1.collection:需要遍历的集合类型
- 1.1数组类型 关键字:array
- 1.2list类型 关键字:list
- 1.3map类型 关键字:Map中的key
- 2.open/close 循环开始和结束标签,一般自己写
- 3.item遍历数据的变量名称
- 4.separator参数之间的分隔符
在这里插入图片描述 问题说明:
- 前端数据传递时可能会有null数据.
- 如果数据为null则不能充当where条件
解决方案: 动态Sql实现
在这里插入图片描述5.动态sql或
* 如果id有值,则根据id查询.
* 如果id没有值,则根据name查询.
* 如果id和name都没有值,则根据sex查询
语法类似: if->else-if->else
在这里插入图片描述
动态sql更新

	-	根据对象中不为null的属性 当做set条件
 	-	  语法: set标签 去除多余1个,号

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值