注意:

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. vector利用swap()函数进行内存的释放

    首先,vector与deque不同,其内存占用空间只会增长,不会减小.比如你首先分配了10,000个字节,然后erase掉后面9,999个,则虽然有效元素只有一个,但是内存占用仍为10,000个.所有 ...

  2. Mybatis学习笔记之---多表查询(2)

    Mybatis多表查询(2) (一)举例 用户和角色 一个用户可以有多个角色,一个角色可以赋予多个用户 (二)步骤 1.建立两张表:用户表,角色表,让用户表和角色表具有多对多的关系.需要使用中间表,中 ...

  3. drwxr-xr-x是啥意思

    这里先说一下drwxr-xr-x是啥意思: 第一位表示文件类型.d是目录文件,l是链接文件,-是普通文件,p是管道 第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行. 第5-7位表示和 ...

  4. 用flask进行web开发

    经理管理一个餐厅,推出每天都有特色菜的营销模式.他想根据一周中的每一天有一种特色菜. 客人想知道当天的特色菜是什么.另外再添加一个介绍页面.bios路径下,显示餐厅主人,厨师,服务生的简介. pyth ...

  5. [BZOJ1030]:[JSOI2007]文本生成器(AC自动机+DP)

    题目传送门 题目描述 JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群, 他们现在使用的是GW文本生成器v6版.该软件可以随机生成一些文章―――总是 ...

  6. 深入浅说服务如何以Jar包的方式发布

    序言 笔者前段时间在使用自研框架NF( 传送门 )开发一个自动模板生成工具之后,想将他发布到Linux下,之前一直使用IDE直接run as运行,在遇到发布的时候考虑过发布为war或者jar,在一番抉 ...

  7. Docker push image to Docker hub

    1. Before push image to Docker Hub, register an account in https://hub.docker.com/ 2.Input "doc ...

  8. 四十二、python中异常

    1.常用异常: AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError 输入/输出异常:基本上是无法打开文件ImportError 无法引入模块或 ...

  9. system系统调用返回值判断命令是否执行成功

    system函数对返回值的处理,涉及3个阶段: 阶段1:创建子进程等准备工作.如果失败,返回-1. 阶段2:调用/bin/sh拉起shell脚本,如果拉起失败或者shell未正常执行结束(参见备注1) ...

  10. MAC安装navcat

    安装及破解,参照此文: https://blog.csdn.net/marswill/article/details/79808416