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保持一致

相关推荐
最强小杰26 分钟前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
liuyicenysabel1 小时前
多服务上线日记三:
运维·服务器·笔记·学习
CHENGQUAN_kenan1 小时前
佛山亚马逊卖家出口退税合规指南|9610免税、一般贸易退税、无票采购、申报误区全覆盖
大数据·经验分享·笔记·百度
吠品2 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只小小的芙厨3 小时前
基础数论总结
笔记·学习·算法
亚历克斯神4 小时前
智能搜索系统的升级复盘——从 Elasticsearch 到混合检索的检索质量提升
java·spring·微服务
金銀銅鐵4 小时前
[Java] 一个方法最多可以有多少个入参?
java·jvm
哭哭啼5 小时前
JAVA服务问题诊断
java·开发语言·jvm
Sayuanni%35 小时前
SpringBoot 从注解到源码:核心知识点总结
java·spring boot·后端
@Mike@5 小时前
09-数据库学习笔记(数据库索引与过滤器)
数据库·笔记