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

相关推荐
LinXunFeng5 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
小bo波10 小时前
从"任意文件复制"深挖Java I/O:字符流与字节流的本质抉择
java·nio·io流·后端开发·文件复制
nanxun8861 天前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103512 天前
Day01 | Java 基础(Java SE)
java
行者全栈架构师2 天前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师2 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_02 天前
mac(m5)平台编译openjdk
java
唐青枫3 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马3 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261353 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java