SpringBoot快速整合Mybatis、MybatisPlus(代码生成器)实现数据库访问功能

SpringBoot整合Mybatis

1.引入依赖

pom.xml中引入以下依赖:

<!-- SpringBoot整合Mybatis依赖 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>

<!-- MySQL数据库驱动依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2.配置数据源

application.properties中添加以下配置:

# 配置数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

# 配置Mybatis
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml

3.创建Mapper

@Repository
@Mapper
public interface UserMapper {

    /**
     * 查询所有用户
     */
    List<User> selectAll();
}

4.编写Service

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    /**
     * 查询所有用户
     */
    public List<User> selectAll() {
        return userMapper.selectAll();
    }
}

5.编写Controller

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/list")
    public List<User> userList() {
        return userService.selectAll();
    }
}

SpringBoot整合MybatisPlus

1.引入依赖

pom.xml中引入以下依赖:

<!-- SpringBoot整合MybatisPlus依赖 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.6</version>
</dependency>

<!-- 权限管理框架Shiro依赖 -->
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-all</artifactId>
    <version>1.7.1</version>
</dependency>

2.配置数据源

application.properties中添加以下配置:

# 配置数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/plus_demo?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

# 配置MybatisPlus
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.type-aliases-package=com.example.demo.entity

3.创建Mapper

mapper包下创建UserMapper.java文件:

@Repository
public interface UserMapper extends BaseMapper<User> {
}

4.编写Service

service包下创建UserService.java文件:

@Service
public class UserService extends ServiceImpl<UserMapper, User> {

    /**
     * 查询所有用户
     */
    public List<User> selectAll() {
        return list();
    }
}

5.编写Controller

controller包下创建UserController.java文件:

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    // 查询所有用户
    @GetMapping("/list")
    public List<User> userList() {
        return userService.selectAll();
    }
}

MybatisPlus代码生成器示例

1.引入依赖

pom.xml中引入以下依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.0.8</version>
</dependency>

2.配置代码生成器

generator包下创建CodeGenerator.java文件:

public class CodeGenerator {

    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        gc.setAuthor("your name");
        gc.setOpen(false);
        gc.setSwagger2(true);
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus_demo?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.example.demo");
        pc.setEntity("entity");
        pc.setService("service");
        pc.setServiceImpl("service.impl");
        pc.setController("controller");
        mpg.setPackageInfo(pc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        strategy.setEntityLombokModel(true);
        strategy.setRestControllerStyle(true);
        strategy.setControllerMappingHyphenStyle(true);
        mpg.setStrategy(strategy);

        // 执行生成
        mpg.execute();
    }
}

3.执行生成代码

CodeGenerator类上右键点击Run Code Generator.main(),即可生成代码。生成的代码包括各个层级的文件,可以根据需要进行删减或修改。

4.使用生成的代码

使用前需要修改application.properties文件中的Mapper文件路径:

mybatis-plus.mapper-locations=classpath:mapper/*.xml,classpath:mapper/auto/*.xml

使用生成的代码,可以直接调用父类中的方法:

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    // 查询所有用户
    @GetMapping("/list")
    public List<User> userList() {
        return userService.list();
    }
}

以上就是SpringBoot整合Mybatis、MybatisPlus实现数据库访问功能的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot快速整合Mybatis、MybatisPlus(代码生成器)实现数据库访问功能 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java语言实现快速幂取模算法详解

    Java语言实现快速幂取模算法详解 在进行大数据处理时,经常需要对数据进行取余操作。如果数据太大,直接进行取余运算会导致内存溢出等问题,因此需要使用快速幂取模算法来解决这个问题。本文将详细讲解Java语言如何实现快速幂取模算法。 快速幂取模原理 快速幂取模算法是对普通的取模操作进行优化,将原始数据不断倍增,取余操作则只在最后一次进行。其核心原理为二分思想,即…

    Java 2023年5月26日
    00
  • 2020最新版SSM框架整合教程

    让我来详细讲解一下“2020最新版SSM框架整合教程”的完整攻略。 1. 准备工作 在整合SSM框架之前,需要安装JDK、Maven以及相应的开发工具,比如IntelliJ IDEA或Eclipse,还需要准备好Web Server,比如Tomcat或Jetty。 2. 创建Maven项目 创建一个Maven Web项目,添加以下依赖: <depend…

    Java 2023年5月20日
    00
  • 浅谈java中字节与字符的区别

    针对“浅谈java中字节与字符的区别”,我可以提供以下攻略: 标题 浅谈Java中字节与字符的区别 正文 在Java中,字节和字符都是基本的数据类型。虽然二者都是用来处理数据,但是它们在数据类型之间的定义和使用方面有所不同。下面详细讨论两者的不同点: 1. 字节(byte) Java中的字节是8位二进制数据,用来表示数字或文本数据。字节数据类型是有符号的,因…

    Java 2023年5月20日
    00
  • 相册管理系统(Java表单+xml数据库存储)

    相册管理系统(Java表单+xml数据库存储)是一个使用Java开发的Web应用程序,可以让用户上传和查看图像,并能够对这些图像进行管理。该系统使用了Java表单和xml数据库存储进行数据交互和管理。下面是该系统的完整攻略。 前提条件 在开始使用相册管理系统之前,您需要确保您已经满足以下要求: 电脑已经安装了Java开发环境和Tomcat服务器 您已经掌握了…

    Java 2023年5月20日
    00
  • spring boot项目打包成war在tomcat运行的全步骤

    下面是详细的步骤。 1.创建Spring Boot项目 首先,需要使用Spring Initializr创建一个Spring Boot项目。这里我们以创建一个简单的Spring Boot RESTful应用为例。 可以使用如下命令创建: curl https://start.spring.io/starter.zip -o myproject.zip unz…

    Java 2023年5月19日
    00
  • 浅谈spring和spring MVC的区别与关系

    1. Spring 和 Spring MVC 的区别与关系 Spring Spring 是一个开源的轻量级的 JavaEE 开发框架,主要解决企业级应用开发的复杂性。它提供了一个容器,可以管理应用中所有的组件和服务,帮助开发者解决组件之间的复杂依赖问题。 Spring 的特点: IoC(Inversion of Control) 控制反转 AOP(Aspec…

    Java 2023年5月16日
    00
  • Java 关于eclipse导入项目发生的问题及解决方法(推荐)

    下面是关于“Java关于eclipse导入项目发生的问题及解决方法(推荐)”的详细攻略。 问题描述 在使用eclipse导入项目时,有时会遇到如下问题: 导入项目后无法运行或出现编译错误; 导入项目后出现文件缺失或文件重复等问题。 这些问题可能是由于项目配置不正确或者导入过程中出现了错误所导致的。接下来我们将逐一分析解决。 解决方案 方案一:清空eclips…

    Java 2023年5月20日
    00
  • 如何测试Spring MVC应用

    以下是关于“如何测试Spring MVC应用”的完整攻略,其中包含两个示例。 1. 前言 Spring MVC是一种基于Java的Web框架,它提供了一种灵活的方式来开发Web应用程序。在开发Spring MVC应用程序时,测试是非常重要的一部分。本攻略将详细讲解如何测试Spring MVC应用程序。 2. 测试Spring MVC应用程序的方法 Sprin…

    Java 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部