注意:

mybatisPlus默认加载resources下的mapper文件夹下的xml文件

默认将数据库表的字段用驼峰标识转换成实体类的属性

官方网站: https://mp.baomidou.com/

一.mybatisPlus和通用mapper使用区别

第一步:

把通用mapper的依赖、配置删除 包括:实体类的注解、引导类的mapperScan、dao接口的父接口

第二步:

添加启动器

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.1.2</version>

</dependency>

第三步:

修改pojo实体类

在类名上添加一个注解@TableName(value="表名") 用于表和实体类的映射关系

在注解上添加一个@TableId  表名是主键 还可以指定ID的类型 type=IdType.AUTO

第四步:

修改dao,让Dao的接口继承一个父接口BaseMapper<T> ,默认就有了CRUD方法

第五步:

修改Service实现类中dao的方法 userDao.selectById(id)

二.mybatisPlus使用步骤

1.导入坐标

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.1.2</version>

</dependency>

完整坐标:

<dependencies>
        <!--通过项目模板,已经自动配置上了springmvc启动器,lombok启动器和test启动器-->
        <!--项目模板自动配置 开始-->
       
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--项目模板自动配置 结束-->

<!--配置springboot整合mybatis Plus开始-->

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

        <!--
配置jdbc 开始-->
            <!--spring中的jdbc连接和事务是配置中的重要一环,在SpringBoot中该如何处理呢?
            我们只要找到SpringBoot提供的启动器即可:
             -->
       
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--配置jdbc 结束-->
        <!--配置mysql 开始-->
       
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--配置mysql 结束-->
        <!--配置Druid连接池 开始-->
       
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.6</version>
        </dependency>
        <!--配置Druid连接池 结束-->
        <!--配置springboot整合mybatis 结束-->

</dependencies>

2.实体类

package com.ahd.pojo;

import
com.baomidou.mybatisplus.annotation.TableId;
import
com.baomidou.mybatisplus.annotation.TableName;
import
lombok.Data;

import
java.util.Date;

@Data   //lombok的注解,在工程编译时自动为实体类添加上get,set,...方法
@TableName("tb_user")  //告诉对应的数据库表的名字
public class User {
    // id
   
@TableId //告诉 谁是主键
   
private Long id;

// 用户名
   
private String userName;

// 密码
   
private String password;

// 姓名
   
private String name;

// 年龄
   
private Integer age;

// 性别,1男性,2女性
   
private Integer sex;

// 出生日期
   
private Date birthday;

// 创建时间
   
private Date created;

// 更新时间
   
private Date updated;

// 备注
   
private String note;
}

3.编写dao层接口

package com.ahd.dao;

import
com.ahd.pojo.User;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper;

public
interface
UserDao extends BaseMapper<User> {//添加泛型,告知通用Mapper实体类是谁
}

4.    application.yml配置文件

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    username: root
    url: jdbc:mysql:///saas-export-96
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
  #mybatis:
#  configuration:
#    map-underscore-to-camel-case: true
#  type-aliases-package: com.ahd.pojo
#  mapper-locations: /mapper/**

SpringBoot_03mybatisPlus的更多相关文章

随机推荐

  1. MongoClient类

    在2.10.0版本中引入了MongoClient类,同时在其API中也说明了Mongo类会在将来的版本中被MongoClient替换(Note: This class has been superse ...

  2. cocos2d 15款游戏源码

    https://blog.csdn.net/jailman/article/details/78678972

  3. vue 使用 axios 时 post 请求方法传参无法发送至后台

    axios 时 post 请求方法传参无法发送至后台报错如下 Response to preflight request doesn't pass access control check: No ' ...

  4. [design pattern](3) Dectorator

    前言 很久没有写关于设计模式的博客了,实在是没有太多的精力去写.但个人觉得设计模式在我们的日常开发中还是挺重要的,它提高了软件的可维护性.因此还是有必要坚持学习设计模式,写博客主要是为了加深我对设计模 ...

  5. 【Win32 API】远程工具调用

    前言 有时候,影城报障需要远程过去重现和处理,如果电脑没有安装远程工具的话,还需要营业员下载和安装,然后将账号密码发送过来,这样一来一回操作繁琐也浪费时间,所以我们可以设想一下这种场景,售票员点击在p ...

  6. linux修改时区为东八时区,北京时间,上海时间

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/tim ...

  7. Git-Runoob:Git 基本操作

    ylbtech-Git-Runoob:Git 基本操作 1.返回顶部 1. Git 基本操作 Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比.本章将对有关创建与提交你的项目快照的命令作 ...

  8. 异步分发任务celery

    Celery简介 Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单. celery适用异步处理问题,当遇到发送邮件.或者文件上传, 图像处理等等一些比较耗时的 ...

  9. 编写Python脚本把sqlAlchemy对象转换成dict的教程

    编写Python脚本把sqlAlchemy对象转换成dict的教程 在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操 ...

  10. c# 跨应用程序域通讯

    public class MyTask { public class MyEventArgs : EventArgs { public object EventData { get; private ...