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日

相关文章

  • 使用maven自定义插件开发

    让我来为您详细讲解“使用maven自定义插件开发”的完整攻略。 1. 简介 Maven是一个Java项目管理工具,它可以帮助我们更方便地管理项目依赖、构建等工作。Maven的自定义插件可以帮助我们更好地满足自己的需求,提高项目的开发效率。本文主要介绍如何使用Maven自定义插件开发,并提供两个基本案例演示。 2. 开发步骤 自定义Maven插件的开发步骤包括…

    Java 2023年5月20日
    00
  • 解决spring项目找不到Aspect依赖注解的问题

    当我们在Spring项目中使用AspectJ时,可能会遇到找不到Aspect依赖注解的问题。这是由于AspectJ依赖的jar文件没有正确添加到项目的classpath中所致。以下是解决该问题的完整攻略: 第一步:添加AspectJ的依赖 在项目的pom.xml中添加以下依赖: <dependency> <groupId>org.as…

    Java 2023年5月31日
    00
  • Swagger JSON高危漏洞被发现 Java/PHP/NodeJS/Ruby或中招

    标题: 全方位防范 Swagger JSON 高危漏洞 背景介绍: 最近,一种针对 Swagger JSON 文件的高危漏洞被发现,这种漏洞可能让攻击者直接获取到应用程序的代码。这种漏洞已经影响到了 Java、PHP、NodeJS、Ruby 等多种语言,因此我们需要对此进行有效的防范。 攻击过程: 攻击者可能会通过修改Swagger文档,添加恶意逻辑来执行以…

    Java 2023年5月26日
    00
  • 一篇文章搞定Struts2的类型转换

    一篇文章搞定Struts2的类型转换 什么是类型转换 在Struts2中,类型转换是指将字符串类型的参数转换为控制器方法中所需要的具体类型,比如将字符串”100″转换为整数类型 int 100。 在Struts2中,参数的类型转换是由类型转换器完成的。 Struts2中的类型转换器 Struts2中属性值的类型转换是由类型转换器完成的,类型转换器实现了Typ…

    Java 2023年5月20日
    00
  • win2000/2003下整合IIS+Tomcat5支持jsp

    要在Win2000/2003下整合IIS和Tomcat5来支持JSP,需要按照以下步骤来实现: Step 1. 安装IIS和Tomcat5 首先需要在Windows服务器上安装IIS和Tomcat5。对于IIS,需要在Windows的“控制面板”中选择“添加/删除程序”,然后选择“添加/删除Windows组件”,找到IIS并安装。对于Tomcat5,可以从A…

    Java 2023年5月19日
    00
  • Spring 整合 Hibernate 时启用二级缓存实例详解

    我会给出一个详细的“Spring 整合 Hibernate 时启用二级缓存实例详解”的攻略。在这个攻略中,我会从以下几个方面来进行阐述: 为什么在整合 Spring 和 Hibernate 时需要使用二级缓存? 什么是二级缓存?Spring 如何支持 Hibernate 的二级缓存? 如何在Spring 和Hibernate 中启用二级缓存? 通过两个示例来…

    Java 2023年5月19日
    00
  • java实现页面置换算法

    Java 实现页面置换算法的完整攻略分为以下几个步骤: 1. 简述页面置换算法 页面置换算法是指当一个进程需要访问的页面不在物理内存中时,需要替换掉内存中的某一页,为该页面腾出空间。页面置换算法的主要目标是选择正确的页面替换策略,以最小化缺页次数,并提高操作系统的性能。 2. 确定实现页面置换算法的数据结构 常用的数据结构包括链表、数组和哈希表。在本攻略中,…

    Java 2023年5月18日
    00
  • Spring Security过滤器链加载执行流程源码解析

    针对Spring Security过滤器链加载执行流程源码解析的完整攻略,我把它分为以下几个部分: 概述 Spring Security过滤器链的加载流程 Spring Security过滤器链的执行流程 示例1:启动时访问静态资源 示例2:访问受保护资源 下面对每个部分进行详细讲解。 1. 概述 Spring Security是一个基于Spring框架的安…

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