注意:

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. sh_07_continue

    sh_07_continue i = 0 while i < 10: # continue 某一条件满足时,不执行后续重复的代码 # i == 3 if i == 3: # 注意:在循环中,如果 ...

  2. 今天跟outlook顶上牛了

    之前使用的是2007,然后之前弄东西的时候给升到2010了,之前就是把所有的邮件都保存到本地的文件中,我还想使用之前的文件,然后2010就是不好使,后来查了半天发现原来是需要手动创建账户,参考http ...

  3. 详解cocos2dx 3.0的release版本在android平台的签名过程

    当您的游戏准备发布前,需要编译成为release版本,命令中需要增加 -m release,编译命令如下: cocos compile -p android -m release 在编译结束后,生成x ...

  4. Selenium 多表单(frame/iframe)切换

    frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe需要切换进去才能定位到其中的元素 比如下面这个网 ...

  5. shell变量与运算

    shell变量与运算 @(0003 shell编程) 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$号,只有引用变量的值时才使用$号.也就是说在内存中,标记变量的变量名称是str,而不 ...

  6. [HDU3072]:Intelligence System(塔尖+贪心)

    题目传送门 题目描述 “这一切都是命运石之门的选择.”试图研制时间机器的机关SERN截获了中二科学家伦太郎发往过去的一条短 信,并由此得知了伦太郎制作出了电话微波炉(仮).为了掌握时间机器的技术,SE ...

  7. vue中下载excel的使用,后端链接两种情况,一个是链接,一个是文件流

    vue中下载excel使用 一.这是第一种情况,后台链接地址返回的是一个url,这个时候我只要在导出按钮上绑定exportData()这个事件方法就好了 exportData() {     this ...

  8. JavaScript 文件拖拽上传插件 dropzone.js 介绍

    http://www.renfei.org/blog/dropzone-js-introduction.html

  9. 腾讯这套SpringMVC面试题你懂多少(面试题和答案)

    1.什么是 SpringMvc? 答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整 2.Spring MVC 的优点: 答:1)它是基于组件技术的.全 ...

  10. 点云网格化算法---MPA

    MPA网格化算法思路 第一步:初始化一个种子三角面.(随机选点,基于该点进行临近搜索到第二点:在基于该线段中点临近搜索到第三点) 图1 第二步:在种子三角面的基础上,进行面片的扩充,利用边的中点进行临 ...