服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 零基础搭建boot+MybatisPlus的详细教程

零基础搭建boot+MybatisPlus的详细教程

2022-10-11 13:57丑阳璐 Java教程

这篇文章主要介绍了零基础搭建boot+MybatisPlus,首先需要创建数据库表和创建boot项目使用mybatisplus操作数据库,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下

1.准备工作

1.1 创建数据库表

创建表

?
1
2
3
4
5
6
CREATE  TABLE `login`(
   `id`  INT(4)  primary key auto_increment,
   `login_id`  VARCHAR(50)  UNIQUE,
   `city` VARCHAR(50)  DEFAULT  '富平',
   `passwordVARCHAR(50)
)

在可视化工具中添加数据(我不太会写sql)

1.2 创建boot项目

1.3 创建实体类(映射数据库表)

2.使用mybatisPlus(操作数据库)

2.1 添加mybatisPlus依赖

?
1
2
3
4
5
6
7
8
9
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.1.2</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2.2 配置数据库信息

?
1
2
3
4
5
6
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test0314?characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

2.3 创建mapper接口

该接口中提供了常用的crud方法,我们只需要从容器中获取mapper操作数据即可

?
1
2
3
4
5
6
7
8
9
10
package com.hand.demo.mapper;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hand.demo.entity.User;
 
/**
 * 用户数据访问层接口
 * */
public interface UserMapper extends BaseMapper<User> {
}

2.4 配置mapper扫描

  • 在启动类中配置我们的mapper在哪个包
  • 两种方法:@Mapper注解(麻烦);@MapperScan(在主启动类上进行配置)
?
1
2
3
4
5
6
7
@SpringBootApplication
@MapperScan("com.hand.demo.mapper")
public class Demo0318Application {
    public static void main(String[] args) {
        SpringApplication.run(Demo0318Application.class, args);
    }
}

2.5 test

?
1
2
3
4
5
<dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <scope>test</scope>
       </dependency>

在test包下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.hand.demo;
import com.hand.demo.entity.User;
import com.hand.demo.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class Demo0318ApplicationTests {
    @Autowired
    private UserMapper userMapper;
    /**
     * 获取UserMapper实现类对象(mybatisPlus容器会使用动态代理生成该接口的实现类对象,并注入到spring容器中
     * 所以我们只需要在这定义一个成员变量,通过注解自动注入即可)
     * */
    @Test
    public void testQueryAll() {
        List<User> userList = userMapper.selectList(null);
        System.out.println(userList);
    }
}

3. 常用设置

3.1 设置表映射规则

设置表前缀配置

3.2 主键生成策略(默认基于雪花算法)

?
1
2
@TableId(type = IdType.AUTO)
   private Long id;

3.3 全局设置

?
1
2
3
4
5
mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto

3.4 字段与列名的驼峰映射(默认开启)

?
1
2
3
4
5
6
7
mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto
  configuration:
    map-underscore-to-camel-case: false

3.5 日志设置

?
1
2
3
4
5
6
7
8
mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto
  configuration:
    map-underscore-to-camel-case: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

4.基操

4.1 插入 insert()

4.2 删除 deleteXxx() map

4.3 更新 updateXxx()

5.Wrapper(条件构造器)

5.1

?
1
2
3
Wrapper
          AbstractWrapper   
   QueryWrapper   UpdateWrapper

QueryWrapper的select可以设置需要查询的列

6. service层使用

  • 不需要手动注入该泛型内的mapper
  • 如果需要别的mapper手动注入就行
?
1
2
3
4
5
6
7
8
package com.hand.demo.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.hand.demo.entity.User;
 
public interface UserService extends IService<User> {
    
}
?
1
2
3
4
5
6
7
8
9
10
11
package com.hand.demo.service.Impl;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hand.demo.entity.User;
import com.hand.demo.mapper.UserMapper;
import com.hand.demo.service.UserService;
 
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    
}
?
1
2
3
4
5
6
7
8
@Autowired
private UserService userService;
 
@Test
public void testService() {
    List<User> list = userService.list();
    System.out.println(list);
}
  • 也有自己的批量操作等(batch)
  • 自定义方法(多表关联)

7. 代码生成器(未完待续)

  • 每个接口都在继承相同的BaseMapper,IService(代码冗余,繁琐)
  • MybatisPlus提供的代码生成器,一键生成mvc三层所有代码
  • 如何使用,引入下边的包
?
1
2
3
4
5
6
7
8
9
<dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-generator</artifactId>
           <version>3.5.2</version>
       </dependency>
       <dependency>
           <groupId>org.freemarker</groupId>
           <artifactId>freemarker</artifactId>
       </dependency>

到此这篇关于零基础搭建boot+MybatisPlus的文章就介绍到这了,更多相关boot+MybatisPlus搭建内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_52735772/article/details/123565041

延伸 · 阅读

精彩推荐
  • Java教程使用spring的restTemplate注意点

    使用spring的restTemplate注意点

    这篇文章主要介绍了使用spring的restTemplate注意点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    书生杨阳11542022-03-03
  • Java教程java实现查找替换功能

    java实现查找替换功能

    这篇文章主要为大家详细介绍了java实现查找替换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    cat_pp12242021-07-27
  • Java教程Java手机号码工具类示例详解(判断运营商、获取归属地)

    Java手机号码工具类示例详解(判断运营商、获取归属地)

    这篇文章主要介绍了Java手机号码工具类示例详解,通过手机号码来判断运营商获取归属地,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    安和桥@write_boy6502022-08-07
  • Java教程一篇超详细的Spring Boot整合Mybatis文章

    一篇超详细的Spring Boot整合Mybatis文章

    大家都知道springboot搭建一个spring框架只需要秒秒钟。下面通过实例代码给大家介绍一下springboot与mybatis的完美融合,非常不错,具有参考借鉴价值,感兴趣...

    牛哄哄的柯南9562021-10-24
  • Java教程JavaWeb中Session对象的学习笔记

    JavaWeb中Session对象的学习笔记

    在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象,即session对象,这篇文章就为大家详细介绍Session对象的定义、实现原理等基础知识点,感兴...

    孙赫奕3702020-04-29
  • Java教程Java之Buffer属性案例详解

    Java之Buffer属性案例详解

    这篇文章主要介绍了Java之Buffer属性案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    pengjunlee5622021-11-10
  • Java教程解决Java Redis删除HashMap中的key踩到的坑

    解决Java Redis删除HashMap中的key踩到的坑

    这篇文章主要介绍了解决Java Redis删除HashMap中的key踩到的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    goblog5722021-08-16
  • Java教程JavaEE实现文件下载

    JavaEE实现文件下载

    这篇文章主要介绍了JavaEE实现文件下载的方法,非常的实用,需要的朋友可以参考下 ...

    hebedich6572019-12-03