开始前准备:

这是基于SpringBoot的项目,SpringBoot 2.3版本;使用工具:IDEA 2019、SQLyog10
一、首先要在已存在数据库(使用SQLyog10)中建一个实体类的表,表结构如下:

二、搭建项目的目录结构,截图如下:

三、pom依赖

四、yaml文件

五、实体类

package com.my.entity;import com.baomidou.mybatisplus.annotation.IdType;
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;@Data//标明封装数据的实体类是User,不写该注解的话,打印数据时出现的hashCode
@NoArgsConstructor//自动生成无参构造方法
@AllArgsConstructor//所有参数构造方法
@TableName("user_info")//数据库的表名字
public class User {@TableId(value = "user_id",type = IdType.AUTO)//数据库ID自增,如果数据库中的主键设置的是自增的,那么这里就要设置一下private Integer userId;//用户id@TableField("user_name")//字段注解(非主键)private String userName;//用户的姓名@TableField("user_age")private Integer userAge;//用户年龄public void setUserId(Integer userId) {this.userId = userId;}public void setUserName(String userName) {this.userName = userName;}public void setUserAge(Integer userAge) {this.userAge = userAge;}public Integer getUserId() {return userId;}public String getUserName() {return userName;}public Integer getUserAge() {return userAge;}
}
六、UserInfoMapper类

package com.my.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.my.entity.User;
import org.springframework.stereotype.Component;@Component//不加它的话,Could not autowire. No beans of 'UserInfoMapper' type found.
// 如果不加它的话也可以写成@Component("userInfoMapper")
public interface UserInfoMapper extends BaseMapper<User> {}
七、SpringBoot启动器类

package com.my;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@MapperScan("com.my.mapper")//扫描此包下面的所有的mapper接口
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}
八、测试类
package com.my;import com.my.entity.User;
import com.my.mapper.UserInfoMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;
import java.util.List;@SpringBootTest
class DemoApplicationTests {//自动注入UserInfoMapper接口实现类@Autowiredprivate UserInfoMapper mapper;private  User user=new User();//封装user实体类@Testvoid contextLoads() {//查询所有的用户信息,mapper中的 selectList() 方法的参数为 MP内置的条件封装器 Wrapper,所以不填写就是无任何条件List<User> listAllUser = mapper.selectList(null);for (User user : listAllUser) {System.out.println(user);}}@Testvoid testInsert(){//测试插入数据的方法,注意这个测试方法不能有返回值,应该设置为void,否则不出结果user.setUserName("陆斌卡门");user.setUserAge(46);int rows=mapper.insert(user);//此方法传入一个User实体类对象//封装好了对象后,调用方法进行插入数据操作if(rows>=0){System.out.println("插入新的数据成功");}else{System.out.println("插入新的数据失败");}}@Testvoid testDelete(){//根据id进行删除,返回影响行数int rows=mapper.deleteById(9);//注意如果删除不存在id也会删除成功,但是不会报错if(rows>=0){System.out.println("删除成功");}else{System.out.println("删除失败");}}@Testvoid testBatchDelete(){//测试批量删除的方法List<Integer> listIds=new ArrayList<Integer>();//因为要传入很多的id,为集合,所以要将删除的id添加至list集合里面listIds.add(6);listIds.add(7);listIds.add(8);int rows=mapper.deleteBatchIds(listIds);if (rows>=0){System.out.println("批量删除数据成功");}else {System.out.println("批量删除数据失败");}}@Testvoid testUpdate(){//测试更新的方法//条件的设置user.setUserId(2);//修改id 2号的信息user.setUserAge(12);user.setUserName("欧阳靖康");int rows=mapper.updateById(user);if(rows>=0){System.out.println("修改信息成功");}else {System.out.println("修改信息失败");}}@Testvoid testUpdate2(){//测试更新的方法,只修改欧阳靖康的年龄,看是否修改成;//如果是动态sql修改的话,只是修改你提供的信息,而不是修改所有的(如果不是动态的sql语句,它会将原来的"欧阳靖康"赋值为null)//条件的设置user.setUserId(2);//修改id 2号的信息,//根据id进行更新,没有传值的属性就不会更新user.setUserAge(66);
//        user.setUserName("欧阳靖康");int rows=mapper.updateById(user);if(rows>=0){System.out.println("修改信息成功");}else {System.out.println("修改信息失败");}}@Testvoid  testBatchSelect(){//根据id进行批量的查询//1.准备存id的集合ListList<Integer> idList=new ArrayList<Integer>();//2.添加想要查询的id编号至集合List中idList.add(1);idList.add(3);idList.add(5);//3.调用Mybatis plus的批量查询方法List<User> userList=mapper.selectBatchIds(idList);//4.遍历输出结果for(User user:userList){System.out.println(user);}}}


Mybatis Plus与Mysql整合的入门教程相关推荐

  1. Mysql数据库基础入门教程

    Mysql数据库基础入门教程 课程链接:https://www.bilibili.com/video/BV1Qb411x7Yc?p=1 2022/1/22start 一.数据库简介 1.什么是数据库? ...

  2. MySQL Connector/C++入门教程(上)

    转载原文:http://blog.csdn.net/jgood/article/details/5661339 原文地址: http://dev.mysql.com/tech-resources/ar ...

  3. MySQL数据库新手入门教程

    相信很多做数据分析的朋友都发现,在平时做业务分析中,Excel表格是我们使用最频繁的工具.我们还发现,Excel虽然好用,但一旦数据量大了起来,比如处理二三十万条或以上数据量的时候,就会出现卡顿,甚至 ...

  4. java springboot整合zookeeper入门教程(增删改查)

    java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...

  5. c mysql 视图_MySQL入门教程(七)之视图

    相关阅读: 视图是从一个或多个表中导出来的虚拟表.视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 1.视图简介 1.1 视图的含义 视图是从一个或多个表中导出来的虚拟表,还可以从已经存在的 ...

  6. MySQL 基础知识入门教程

    前言 知识无底,学海无涯,到今天进入MySQL的学习4天了,知识点虽然简单,但是比较多,所以写一篇博客将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家. 一.SQL简述 1.SQL的概述 ...

  7. c++框架有哪些_Java Mybatis框架入门教程_v20200726

    MyBatis 的前身是 Apache 的开源项目 iBatis.MyBatis 几乎可以代替 JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的基于 Java 的优秀持久层框架.MyBat ...

  8. Mybatis框架入门教程

    文章目录 MyBatis是什么?它和hibernate的区别有哪些? MyBatis的工作原理 *MyBatis的核心组件 1.SqlSessionFactory及其常见创建方式 2.SqlSessi ...

  9. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

最新文章

  1. python sys.argv是什么?
  2. linux新建文件权限问题
  3. 用机器学习做信用评分
  4. Linux之Redis的启动、使用和停止
  5. SqlServer Split功能函数
  6. Spring Boot 学习之,数据库一 Spring-Data-Jpa 初探
  7. Redis主从配置,哨兵,集群的设计原理
  8. 解决SAXParseException: Premature end of file
  9. 2021年末IT公司市值排行榜
  10. Hdfview安装教程ubuntu
  11. AD中画PCB详细流程
  12. 海洋CMS插件-内置接口的海洋CMS插件
  13. mac ios自动化 appium-doctor 安装opencv4nodejs爬坑记录
  14. 软件测试英语面试场景,软件测试英文面试题目
  15. anbox 使用情况_开源Anbox在Linux中运行Android应用
  16. celery基础知识
  17. Excel2003 找回工作表密码方法
  18. 心脏滴血漏洞简单攻击
  19. earlier的意思_earlier和before都有之前的意思?有什么区别吗
  20. 白天看投影仪哪个牌子最好?家用投影仪推荐一下哪款比较好

热门文章

  1. 小象学院 零基础Python入门 案例三 BMR计算器v_1.0+v_2.0
  2. dreamware html中加入flv,html中怎样嵌入flv格式文件
  3. (7)-HALCON图像采集助手:界面介绍
  4. 7-17 找最贵的书和最便宜的书
  5. 如何在execl中制作列与列错开的表格?
  6. Vid2Vid:Video-to-Video Synthesis
  7. 20pinamp;amp;24pin ATX电源针脚定义
  8. Codeforces#1157 F. Ehab and the Big Finale (思维+交互题)
  9. 弹出USB大容量存储设备时出问题的解决方法
  10. 如何优雅地删除Docker镜像和容器(超详细)