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如何实现字符串每隔4位加空格

    Java如何实现字符串每隔4位加空格,可以通过如下方式实现: 1.使用正则表达式 Java中可以使用正则表达式对字符串进行匹配和替换。我们可以使用正则表达式来定义每四个字符后需要加上一个空格。 具体的代码实现如下: public String addSpace(String str) { return str.replaceAll("(.{4})&…

    Java 2023年5月26日
    00
  • Java日常练习题,每天进步一点点(33)

    下面我来详细讲解“Java日常练习题,每天进步一点点(33)”。 问题描述 本题目要求我们使用Java语言编写程序,实现一个计算器,可以进行加减乘除四个基本运算。 题目分析 对于这个题目,我们可以考虑使用面向对象的编程思想,将计算器看作一个对象,然后为计算器设计四个基本的操作方法。 编程实现 先定义一个Calculator类,其中包含四个方法add、sub、…

    Java 2023年5月20日
    00
  • SpringBoot Http远程调用的方法

    介绍SpringBoot远程调用HTTP接口的方法主要有以下两种: 一、使用Spring的RestTemplate Pom.xml中引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star…

    Java 2023年5月26日
    00
  • 常见的Java调试器有哪些?

    Java调试器是一种用于调试Java应用程序和Java虚拟机(JVM)的工具,它可以帮助开发人员在开发Java应用程序时快速定位和解决程序中的错误。常见的Java调试器有以下几种: Eclipse调试器 IntelliJ IDEA调试器 NetBeans调试器 JDB调试器 以下是常见的Java调试器的详细使用攻略: 1. Eclipse调试器使用攻略 Ec…

    Java 2023年5月11日
    00
  • java身份证验证代码实现

    下面是 “java身份证验证代码实现”的完整攻略。 1. 身份证号码规则 身份证号码规则如下: 身份证号码为18位数字和字母(除最后一位是字母外) 前17位为地区码和出生日期码,最后一位为校验码 校验码计算方法: 取出前17位数字(地区码和出生日期码),按权重分别乘以7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2 对乘积求和 将和数除…

    Java 2023年5月19日
    00
  • java应用开发之Mybatis通过Mapper代理自定义接口的实现

    Java应用开发之Mybatis通过Mapper代理自定义接口的实现 背景介绍 Mybatis可以通过Mapper代理的方式来实现自定义接口的功能,这种方式能够让Mybatis操作数据库变得更加灵活,能够满足不同业务场景的需求。本文将详细讲解如何使用Mapper代理自定义接口来实现Mybatis的功能。 步骤 步骤一:定义自定义接口 在Mybatis中,我们…

    Java 2023年5月20日
    00
  • java中封装JDBC工具类的实例分析

    我来为你详细讲解“Java中封装JDBC工具类的实例分析”的完整攻略。 什么是JDBC工具类 在Java中使用JDBC技术与数据库进行连接时,需要编写一些重复性较高的代码,如加载驱动、获取连接、关闭连接等。为了避免重复代码的编写,可以将这些代码封装在一个工具类中。这个工具类我们称之为JDBC工具类。 JDBC工具类的编写 加载驱动 在编写JDBC工具类的时候…

    Java 2023年6月16日
    00
  • java与scala数组及集合的基本操作对比

    Java与Scala数组及集合的基本操作可以进行如下对比: 数组 Java数组 Java中的数组是一个固定大小的容器,用来存储相同类型的元素。数组的大小在创建时是固定的,无法修改。 创建数组 Java中创建数组需要指定数组的类型和大小。如下所示,创建一个包含5个int类型元素的数组: int[] myArray = new int[5]; 插入/获取元素 J…

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