Mybatis笔记一

1.Mybatis简介

2.快速入门

3.jdbc简介

了解一下就行了,因为以后都用mybatis

4.数据库连接池

就像是共享单车一样用完就换

还,不用频繁地创建和释放资源

常见的数据库连接池种类
连接池切换

在图中的官网找到durid的坐标然后直接引入就行了

5.lombok

pojo包下的实体类通常要写很多的get和set方法,还有string方法,为了解决重复操作带来的麻烦,可以使用lombok

注意:使用之前需要先导入依赖

6.参数占位符

一般情况下用#的参数占位符

7.新增与主键返回

将要新增的数据传到对象里,然后再一对象的方式作为形参传递

8.更新操作

同样是把信息传递到对象里面,然后再把对象传到方法的形参里面

9.查询操作

注意:如果用%#{name}%这种方式就会造成运行后出现%?%,但是用%S{name}%,就会性能低,不安全,所以更加推荐的方法里面用了concat函数,这个函数的作用就是将字符串拼接起来.以后见到模糊匹配应该还能用到

10.自动封装方法

如果实体类对象的属性名和数据库查询返回的字段名不一致,则可以直接在application.propertise里面直接写以下代码

11.xml映射文件

idea里面写SQL语句的方法有两种,一种是通过注解的方法写,另一种是通过xml映射文件写,另一种就是在之前的mapper接口里面通过注解的方式写.但是如果通过xml文件写SQL,也还要在mapper接口里面继续用注解写这个方法.一般简单一些的语句用注解,复杂一些的用xml映射文件

注意:对于保持返回值类型一直这句话,如果你的返回值是一个对象,就需要在resulttype里面写入对象的全类名,如果是一个集合里面是对象,那也要把对象的全类名写进去

12.动态SQL简介

以前写的代码必须三个输入框里面都输入数据才会查询,否则如果有一个是空的就查不出来,而动态sql的作用就是解决这一问题,随着输入的变化而变化

13.动态SQL if与where

如果只用if而不用where,则当name没有输入而gender输入的情况下,SQL语句就会在1前面多出来一个and,所以一般用where

14.动态SQL if与set

与<where>标签的用法差不多,用于替换update语句里面的set,如果不用<set>标签,那么就会造成在sql语句前面多一个,的问题

15.动态SQL foreach

主要记住其中的五个属性都代表什么

16.动态SQL sql与include

sql与include主要用于解决重复代码的问题,如下图中标红的代码

则此时可以用sql标签进行抽取,并随意设置一个id

然后再将重复的代码部分使用include进行替换,其中的refid需要与与sql设置的id保持一致

相关推荐
VimorphTech2 小时前
一段字幕太长,怎样拆句并安排显示时间?
java·spring boot
万联WANFLOW2 小时前
Kimi K3.1 Pro 接口接入指南:模型选型、费用计算与零数据保留
java·spring boot·python·安全·spring·大模型
织码weavecodes2 小时前
新闻资讯模块设计:内容发布、阅读计数与附件鉴权
java·服务器·数据库
学到老活到老2 小时前
Spring 事务怎样生效?为什么加了 @Transactional 仍不回滚?
java·spring
学到老活到老2 小时前
Spring 怎样创建 Bean?@Autowired 在哪一步生效?
java·spring
用户112936112192 小时前
我扫了项目里 739 个 Controller,发现最危险的越权漏洞不是没认证
java
小羊没烦恼!2 小时前
分布式事务 | 使用DTM 的Saga 模式
java·linux·运维·数据库·wpf
JPower_mr.g2 小时前
SmartCall v1.0.9 发布:智能体知识库上线,让 AI 客服先查资料再回答
java·ide·人工智能·macos·架构·开源·xcode
SL_staff3 小时前
破除执行黑箱:用目标地图、资源热力图与健康度看板构建可下钻的执行事实链
java·开源·全栈
骑着蜗牛撵大象3273 小时前
让 Codex 值夜班:把告警排查与巡检接成可回滚的自动化链路
android·java·运维·ai·自动化·codex·智能体