SpringBoot整合Mybatis-Plus

什么是Mybatis-Plus

Mybatis-Plus:简称MP,是对MyBatis功能的增强而不是改变。
Mybatis-Plus的特点:

  • (1)内置通用 Mapper、通用 Service
  • (2)支持主键自动生成
  • (3)内置代码生成器

SpringBoot对Mybatis-Plus的整合

在pom.xml文件中导入依赖

<!-- mybatis-plus -->
			<dependency>
				<groupId>com.baomidou</groupId>
				<artifactId>mybatis-plus-boot-starter</artifactId>
				<version>3.4.3.1</version>
			</dependency>

在application.yml文件中配置Mybatis-Plus

server:
  port: 8080
  servlet:
    context-path: /springBoot-mybatis-Plus

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    password: "010220"
    username: root
    url: jdbc:mysql://localhost:3306/mvc?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
  redis:
    host: localhost
    port: 6379
    jedis:
      pool:
        max-idle: 8
        max-wait: -1
        min-idle: 0
        max-active: 8
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  aop:
    proxy-target-class: true
    auto: true
mybatis-plus:
  #配置实体类路径
  type-aliases-package: com.springbootmybatisplus.demo.dao.entity
  configuration:
    #配置SQL输出语句
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  

在实体类中进行注解配置

MyBatis-Plus注解

  • (1)@TableName:实体类映射的表名
  • (2)@TableId:注明表格的主键,指明主键的生成策略
  • (3)@TableField:注明实体类属性映射的表格字段
    在这里插入图片描述
package springbootmybatisplus.demo.dao.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;

/**
 * @author Una
 * @date 2022/8/27 12:26
 * @description:
 */
@ToString
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "book")//表名
public class Book {


    @TableId(value = "book_id")//主键属性
    private Integer bookId;


    @TableField(value = "book_name")
    private String bookName;

    @TableField(value = "book_author")
    private String bookAuthor;


    @TableField(value = "book_date")
    private Date bookDate;

    @TableField(value = "book_price")
    private Integer bookPrice;

}

自定义Mapper,继承自BaseMapper<实体类名>

实现BaseMapper泛型接口,泛型参数是实体类。用户只需要定义自己的Mapper继承自该接口就可以实现单表的CRUD操作

package springbootmybatisplus.demo.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.*;
import springbootmybatisplus.demo.dao.entity.Book;

import java.io.Serializable;

/**
 * @author Una
 * @date 2022/8/27 14:07
 * @description:
 */

@Mapper
public interface BookMapper extends BaseMapper<Book> {


    @Insert("insert into book values( #{entity.bookId},#{entity.bookName},#{entity.bookAuthor},#{entity.bookDate},#{entity.bookPrice})")
    @Override
    int insert(Book entity);


    @Delete("delect from book where book_id=#{id}")
    @Override
    int deleteById(Serializable id);


    @Update("update book set book_name=#{entity.bookName},book_author=#{entity.bookAuthor},book_date=#{entity.bookDate},book_price=#{entity.bookPrice} where book_id=#{entity.bookId}")
    @Override
    int updateById(Book entity);


    @Select("select * from book where book_id=#{id}")
    @Override
    Book selectById(Serializable id);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值