搭建MyBatis-Plus框架并进行数据库增删改查功能
作者:TZ沅 发布时间:2023-11-09 04:33:43
标签:MyBatis-Plus,增删改查
目录
1.搭建环境
2.项目搭建
3.配置maven
4.项目结构
5.配置 MapperScan 注解
6.创建实体
7.创建接口
8.测试
8.1 updateById
8.2 selectById
8.3 deleteById
搭建MyBatis-Plus框架并进行数据库添加
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
1.搭建环境
Jdk:jdk1.8.0_261
Idea:IntelliJ IDEA
Maven:apache-maven-3.3.6
MySQL:mysql-5.5.61
2.项目搭建
3.配置maven
4.项目结构
创建数据库
CREATE DATABASE tzy03;
USE tzy03;
CREATE TABLE user(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
pass VARCHAR(50),
);
INSERT INTO user(name,passs) VALUES('Tom','1215');
SELECT * FROM user;
新建完成以后,打开pom.xml后添加以下依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>
5.配置 MapperScan 注解
扫描mapper层
package com.tzy.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.tzy.demo.mapper")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
成功界面
6.创建实体
package com.tzy.demo.pojo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
public class user {
@TableId(value = "id")
public int id;
@TableField(value = "name")
public String name;
@TableField(value = "pass")
public String pass;
@Override
public String toString() {
return "user{" +
"id=" + id +
", name='" + name + '\'' +
", pass='" + pass + '\'' +
'}';
}
public user(){}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
7.创建接口
package com.tzy.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tzy.demo.pojo.user;
import org.springframework.stereotype.Repository;
@Repository
public interface Userdao extends BaseMapper<user> {
}
8.测试
在test文件里自动生成DemoApplicationTests类里往数据库中添加数据进行测试。
package com.tzy.demo;
import com.tzy.demo.mapper.Userdao;
import com.tzy.demo.pojo.user;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Autowired
private Userdao userdao;
@Test
void insert(){
user user1=new user();
user1.setName("田哲沅");
user1.setPass("1218");
int result=userdao.insert(user1);
System.out.println("result:"+result);
System.out.println(user1);//id会自动回填到user对象中
}
}
成功界面
8.1 updateById
需求信息:将id为1的员工的姓名更改为"tzy"
@Test
void testUpdateById() {
user user2=userdao.selectById(1);
user2.setName("tzy");
int result = userdao.updateById(user2);
System.out.println(result);
}
}
8.2 selectById
查询id为1的员工信息
@Test
void selectById() {
user user2=userdao.selectById(1);
System.out.println(user2);
}
}
8.3 deleteById
删除id为1的员工信息
@Test
void testDeleteById() {
int result = userdao.deleteById(1);
System.out.println(result);
}
来源:https://blog.csdn.net/it1880456/article/details/114680208
0
投稿
猜你喜欢
- 你知道String、StringBuilder、Stringbuffer的区别吗?当你创建字符串的时候,有考虑过该使用哪个吗?别急,这篇文章
- 一、Jvm加载对象在说Java * 之前,还是要说一下Jvm加载对象的过程,这个依旧是理解 * 的基础性原理:Java类即源代码程序.j
- 概述在移动应用开发中,消息推送可以说是一项非常重要的功能,它能够起到提醒或者唤醒用户的作用,同时也是产品运营人员更高效地实现运营目标的重要手
- Android 微信摇一摇功能实现,最近学习传感器,就想实现摇一摇的功能,上网查了些资料,就整理下。如有错误,还请指正。开发环境Androi
- Java泛型是JDK 5引入的一个特性,它允许我们定义类和接口的时候使用参数类型,泛型在集合框架中被广泛使用。类型擦除是泛型中最让人困惑的部
- 前言服务消费者调用服务提供者的时候使用RestTemplate技术存在不便之处:拼接urlrestTmplate.getForObJect这
- 微服务feign调用添加token1.一般情况是这么配置的具体的怎么调用就不说了 如下配置,就可以在请求头中添加需要的请求头信息。packa
- 前言在看一本关于高性能编程的时候发现 Java8 中关于接口的新特性的介绍,这个特性是真的棒,解决了一个接口中有多个方法,但并不想实现该接口
- 一、思路1.定义一个toFind变量来传入要查找的元素2.遍历整个顺序表并判定当前下标的元素等不等于toFind3.如果等于就返回一个tru
- java web返回中文乱码ajax返回中文乱码问题 在浏览器按F12查看数据包可以看到charset为 iso-8859-1,这是spri
- 1. 什么是λ表达式λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int
- 为什么要使用路由在之前我们的代码中,页面跳转使用的代码如下所示:Navigator.of(context).push( Mate
- public static String getCharset(File file) { &n
- 方案一: 采用reflections 框架(此框架依赖com.google.guava)1、reflections框架地址:https://
- 在类中自定义的“函数”称为“方法”,由于C#是完全面向对象的
- WebService是一种跨编程语言和跨操作系统平台的远程调用技术所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一
- 本文实例为大家分享了Flutter自定义圆盘取色器的具体代码,供大家参考,具体内容如下下面展示一些 内联代码片。圆盘取色器效果图完整代码im
- 这篇文章主要介绍了JPA save()方法将字段更新为null的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 个人理解:把一个类里的多个命令分离出来,每个类里放一个命令,实现解耦合,一个类只对应一个功能,在使用命令时由另一个类来统一管理所有命令。缺点
- 在Android中使用SQLite数据库的入门指南,打算分下面几部分与大家一起分享, 1、什么是SQLite 2、Android中使用SQL