千家信息网

如何搭建boot+MybatisPlus

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍如何搭建boot+MybatisPlus,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.准备工作1.1 创建数据库表创建表CREATE TABLE `log
千家信息网最后更新 2025年01月31日如何搭建boot+MybatisPlus

这篇文章主要介绍如何搭建boot+MybatisPlus,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1.准备工作

1.1 创建数据库表

创建表

CREATE  TABLE `login`(   `id`  INT(4)  primary key auto_increment,   `login_id`  VARCHAR(50)  UNIQUE,   `city` VARCHAR(50)  DEFAULT  '富平',   `password`  VARCHAR(50))

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

1.2 创建boot项目

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

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

2.1 添加mybatisPlus依赖

    com.baomidou    mybatis-plus-boot-starter    3.1.2    mysql    mysql-connector-java

2.2 配置数据库信息

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操作数据即可

package com.hand.demo.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.hand.demo.entity.User;/** * 用户数据访问层接口 * */public interface UserMapper extends BaseMapper {}

2.4 配置mapper扫描

  • 在启动类中配置我们的mapper在哪个包

  • 两种方法:@Mapper注解(麻烦);@MapperScan(在主启动类上进行配置)

@SpringBootApplication@MapperScan("com.hand.demo.mapper")public class Demo0318Application {    public static void main(String[] args) {        SpringApplication.run(Demo0318Application.class, args);    }}

2.5 test

             junit            junit            test        

在test包下

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;@SpringBootTestclass Demo0318ApplicationTests {    @Autowired    private UserMapper userMapper;    /**     * 获取UserMapper实现类对象(mybatisPlus容器会使用动态代理生成该接口的实现类对象,并注入到spring容器中     * 所以我们只需要在这定义一个成员变量,通过注解自动注入即可)     * */    @Test    public void testQueryAll() {        List userList = userMapper.selectList(null);        System.out.println(userList);    }}

3. 常用设置

3.1 设置表映射规则

设置表前缀配置

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

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

3.3 全局设置

mybatis-plus:  global-config:    db-config:      table-prefix:      id-type: auto

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

mybatis-plus:  global-config:    db-config:      table-prefix:      id-type: auto  configuration:    map-underscore-to-camel-case: false

3.5 日志设置

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

 Wrapper           AbstractWrapper        QueryWrapper   UpdateWrapper

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

6. service层使用

  • 不需要手动注入该泛型内的mapper

  • 如果需要别的mapper手动注入就行

package com.hand.demo.service;import com.baomidou.mybatisplus.extension.service.IService;import com.hand.demo.entity.User;public interface UserService extends IService {    }
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;@Servicepublic class UserServiceImpl extends ServiceImpl implements UserService {    }
    @Autowired    private UserService userService;    @Test    public void testService() {        List list = userService.list();        System.out.println(list);    }
  • 也有自己的批量操作等(batch)

  • 自定义方法(多表关联)

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

  • 每个接口都在继承相同的BaseMapper,IService(代码冗余,繁琐)

  • MybatisPlus提供的代码生成器,一键生成mvc三层所有代码

  • 如何使用,引入下边的包

             com.baomidou            mybatis-plus-generator            3.5.2                            org.freemarker            freemarker        

以上是"如何搭建boot+MybatisPlus"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0