目录
Mybatis-Plus:对Mybatis进行了增强,它封装了基本的增删改查操作,使我们自己不需要再去写很多重复的代码,大大解放了生产力!
1.创建一个新模块
2.引入相关依赖
1.导入mybatis-plus的相关依赖包,数据库驱动
<!-- mybatis plus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<!-- 数据库驱动-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
3.项目结构
4.用户实体类
package com.example.demo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class User {
@TableId(type = IdType.AUTO) //id自增
private int id;
private String name;
}
- @Data 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法,提高代码的简洁
- @TableId 用于指定实体类的某个属性为对应的主键,并设为自增
5.在项目的配置文件中,配置MySQL数据库的连接信息
spring:
datasource:
url: jdbc:mysql://localhost:3306/hhhhh?useUnicode=true&characterEncoding=UTF-8
username: root
password: 123455
driver-class-name: com.mysql.cj.jdbc.Driver
- 数据库地址 localhost:3306/hhhhh, hhhhh就是数据库名称
- 数据库用户名 spring.datasource.username
- 数据库密码 spring.datasource.password
新建数据库,注意数据库名要与配置文件里的数据库名对应
在数据库中新建一个数据表,并插入若干数据
-- 创建user表
CREATE TABLE USER(
id INT(12) AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
NAME VARCHAR(100) COMMENT '姓名'
) ENGINE=INNODB;
-- 插入若干数据
INSERT INTO USER(NAME) VALUES ('张三');
INSERT INTO USER(NAME) VALUES ('张小三');
INSERT INTO USER(NAME) VALUES ('jjj');
INSERT INTO USER(NAME) VALUES ('张大聪明');
6.dao层接口
@Mapper 这个注解一般使用在Dao
层接口上,相当于一个mapper.
xml文件,它的作用就是将接口生成一个动态助理类。加入了@Mapper注解,就是为了不再写mapper映射文件。这个注解就是用来映射mapper.
xml文件的
使用@Mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namepace属性对应相关的mapper类,spring将动态的生成Bean后注入到Service中
BaseMapper 类封装了dao层基本的增删改查操作
7.service类
添加Service注解标识为服务类,可以让spring自动识别并进行管理,使其可以通过依赖注入的方式在其他类使用该服务类
8.controller类提供相应的接口访问数据库操作
@RequestMapping表示共享映射,如果没有指定请求方式,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有HTTP请求方式的映射逐渐。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体,分别对应具体的HTTP请求方式的映射注解。
Autowired注解使用服务类方法完成数据库操作
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
UserService service;//持久化注入
public UserController(UserService service){
this.service=service;
}
//用户列表
@GetMapping("/list")
public List<User> list(){
return service.list();
}
//根据id删除用户数据
@DeleteMapping("/delete/{id}")
public boolean delete(@PathVariable("id") Integer id){
return service.removeById(id);
}
//根据id查找用户数据
@GetMapping("/edit/{id}")
public User edit(@PathVariable("id") Integer id){
return service.getById(id);
}
//新增用户数据
@PostMapping("/inset")
public boolean insert(@RequestBody User user){
return service.save(user);
}
//修改用户数据
@PostMapping("/update")
public boolean update(@RequestBody User user){
return service.updateById(user);
}
}
结语:增删改查接口,基本上不需要自己写sql,直接调用Mybatis-Plus封装好的接口
Mybatis属于半配置型的数据持久化框架,JPA是直接封装了所有的SQL操作,相对于JPA来说Mybatis更灵活,可以自定义SQL。同时Mybatis-Plus又为你封装了常用的增删改查操作,这样既可以在特殊情况下自定义SQL,又避免了写大量重复的增删改查。