) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
实体类
创建实体类UserAddress
mapper
创建UserAddressMapper接口
测试
注入mapper对象
insert 记录:
日志:
表
CREATE TABLE salary
(
id
int(11) NOT NULL AUTO_INCREMENT,
empid
int(11) NOT NULL,
empsal
float(10,2) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
实体类
mapper
测试
注入mapper对象
添加
日志
列名使用下划线,属性名是驼峰命名方式。MyBatis 默认支持这种规则。
表定义
CREATE TABLE customer
(
id
int(11) NOT NULL AUTO_INCREMENT,
cust_name
varchar(50) DEFAULT NULL,
cust_age
int(11) DEFAULT NULL,
cust_email
varchar(100) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
实体类
mapper
测试
注入mapper对象
添加
日志
数据库
定义表
CREATE TABLE student
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(80) DEFAULT NULL,
age
int(11) DEFAULT NULL,
email
varchar(80) DEFAULT NULL,
status
int(11) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
insert into student values(null,‘张三’,22,‘zs@sina.com’,1);
实体
创建 Mapper
新建 sql 映射 xml 文件
配置 xml 文件位置
application.yml
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath*:xml/*Mapper.xml
测试
日志:
查询构造器:Wrapper
QueryWrapper(LambdaQueryWrapper) 和UpdateWrapper(LambdaUpdateWrapper)的父类用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件. MP3.x开始支持lambda表达式,LambdaQueryWrapper,LambdaUpdateWrapper支持 lambda表达式的构造查询条件。
条件:
| 条件 | 说明 |
| — | — |
| allEq | 基于 map 的相等 |
| eq | 等于 = |
| ne | 不等于 <> |
| gt | 大于 > |
| ge | 大于等于 >= |
| lt | 小于 < |
| le | 小于等于 <= |
| between | BETWEEN 值1 AND 值2 |
| norBetween | NOT BETWEEN 值1 AND 值2 |
| like | LIKE ‘%值%’ |
| notLike | NOT LIKE ‘%值%’ |
| likeLeft | LIKE ‘%值’ |
| likeRight | LIKE ‘值%’ |
| isNull | 字段 IS NULL |
| isNotNull | 字段 IS NOT NULL |
| in | 字段 IN (value1, value2, …) |
| notIn | 字段 NOT IN (value1, value2, …) |
| inSql | 字段 IN ( sql 语句 ) |
| notInSql | 字段 NOT IN ( sql 语句 ) |
| groupBy | GROUP BY 字段 |
| orderByAsc | 升序 ORDER BY 字段, … ASC |
| orderByDesc | 降序 ORDER BY 字段, … DESC |
| orderBy | 自定义字段排序 |
| having | 条件分组 |
| or | OR 语句,拼接 + OR 字段=值 |
| and | AND 语句,拼接 + AND 字段=值 |
| apply | 拼接 sql |
| last | 在 sql 语句后拼接自定义条件 |
| exists | 拼接 EXISTS ( sql 语句 ) |
| notExists | 拼接 NOT EXISTS ( sql 语句 ) |
| nested | 正常嵌套 不带 AND 或者 OR |
QueryWrapper:查询条件封装类
| 方法 | 说明 |
| — | — |
| select | 设置查询字段 select 后面的内容 |
UpdateWrapper:更新条件封装类
| 方法 | 说明 |
| — | — |
| set | 设置要更新的字段,MP 拼接 sql 语句 |
| setSql | 参数是 sql 语句,MP 不在处理语句 |
查询
Student 表:初始数据
以 Map 为参数条件
a) 条件:name 是张三,age 是 22
日志:where name=”张三” and age = 22
b) 查询条件有 null
true 日志:
false日志:
name 等于李四
日志
ne 不等于
日志
gt 大于
日志
ge 大于等于
日志
lt 小于
日志
le 小于等于 <=
日志
between 在两个值范围之间
日志
notBetween 不在两个值范围之间
日志
like 匹配值 “%值%”
notLike 不匹配 “%值%”
日志
likeLeft 匹配 like “%值”
likeRight 匹配 like “值%”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
[外链图片转存中…(img-AdVCjNcf-1711794447210)]
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
[外链图片转存中…(img-7UlU0zhX-1711794447211)]
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
[外链图片转存中…(img-MeuS4oZP-1711794447211)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!