本文最后更新于 2025年4月24日 晚上
一、介绍
1.1 ORM
ORM(Object Relationship
Mapping)对象关系映射,是为了解决面向对象和关系型数据库存在互不匹配现象的一种技术
ORM
通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中。
1.2 Mybatis
Mybatis 是一个持久层(Persistence)ORM框架。
二、快速开始
2.1 依赖导入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>LATEST</version> </dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.32</version> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-3-starter</artifactId> <version>1.2.20</version> </dependency>
|
2.2 数据库相关配置
1 2 3 4 5 6 7 8
| server.port=8080 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=mysql:jdbc://localhost:3307/test?useSSL=false spring.datasource.username=root spring.datasource.password=0417
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
|
3.3 启动类加注解
三、基础
3.1 基本注解
1.@MapperScan
这个注解,指定Mapper的扫描包
修饰对象:启动类
默认值:映射器Mapper组件所在的包
2.@Mapper
声明一个映射器(Mapper)组件。
3.2 CRUD
1.增
@Insert("insert into user values( #{id},#{username},#{password})")
2.删
@Delete("delete from user where id = #{id} ")
3.改
@Update("update user set username= #{username}, password = #{password} where id = #{id}")
4.查
@Select("Select * from user")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
## 3.3 Mybatis-Plus
**MP**(Mybatis-Plus)是一个Mybatis的增强工具,在Mybatis的基础上**只做增强不做改变**。
### 基本配置
通过继承**BaseMapper**接口来使用Mybatis-Plus
### 常用注解
#### 1.@TableName
在实体类名与表名不一致时,映射实体类与表名。
#### 2.@TableField
在实体类字段名与表中字段名不一致时,映射实体类属性与表中字段。
#### 3.@TableId
描述主键字段属性。
```java @TableId(value="id",type = IdType.AUTO)
|