Java实战之实现一个好用的MybatisPlus代码生成器

yizhihongxing

首先需要明确的是,MybatisPlus是Mybatis的一个增强版本,能够大大提高开发效率。而MybatisPlus代码生成器能够自动生成基本的CRUD操作,这对于快速搭建项目是非常有帮助的。下面我将详细讲解如何实现一个好用的MybatisPlus代码生成器。

准备工作

  1. 添加MybatisPlus及其依赖到项目中。
  2. 创建数据库及数据表。(以下示例中,我们使用的是MySQL,表名为“user_info”,其中有id、username、password、email、phone五个字段)

配置代码生成器

  1. 创建一个配置类(例如MybatisPlusGeneratorConfig),代码如下所示:
package com.example.mybatisplusdemo.config;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
 * MybatisPlus代码生成器配置类
 */
public class MybatisPlusGeneratorConfig {

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

        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mp_demo?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("123456");
        generator.setDataSource(dataSourceConfig);

        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
        globalConfig.setAuthor("yourname");
        globalConfig.setOpen(false);
        globalConfig.setServiceName("%sService");
        generator.setGlobalConfig(globalConfig);

        // 包名配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example.mybatisplusdemo");
        packageConfig.setEntity("entity");
        packageConfig.setMapper("mapper");
        packageConfig.setXml("mapper.xml");
        generator.setPackageInfo(packageConfig);

        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setInclude("user_info");
        strategyConfig.setControllerMappingHyphenStyle(true);
        strategyConfig.setTablePrefix(packageConfig.getModuleName() + "_");
        generator.setStrategy(strategyConfig);

        // 执行代码生成器
        generator.execute();
    }
}
  1. 修改数据库连接、输出目录、包名等配置信息,运行MybatisPlusGeneratorConfig类,即可自动生成entity、mapper和mapper.xml文件。

使用代码生成器

生成的mapper.xml已经包含了基本的CRUD操作,使用时只需在Service层中调用即可。以user_info表为例,以下是两个示例:

  1. 查询所有用户
@Service
public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {

    @Override
    public List<UserInfo> listUserInfos() {
        return baseMapper.selectList(null);
    }
}
  1. 根据用户名查询用户
@Service
public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {

    @Override
    public UserInfo getUserInfoByUsername(String username) {
        QueryWrapper<UserInfo> wrapper = new QueryWrapper<>();
        wrapper.eq("username", username);
        return baseMapper.selectOne(wrapper);
    }
}

以上就是实现一个好用的MybatisPlus代码生成器的完整攻略啦。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实战之实现一个好用的MybatisPlus代码生成器 - Python技术站

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

相关文章

  • 详谈Servlet和Filter的区别以及两者在Struts2和Springmvc中的应用

    下面是详细的攻略: 一、Servlet和Filter的区别 1. Servlet Servlet是一种基于Java语言编写的服务器程序,它可以在Servlet容器中运行。Servlet可以接收来自客户端的HTTP请求并返回响应,其主要作用是处理业务逻辑,如对请求进行处理并生成响应。 2. Filter Filter也是一种基于Java语言编写的服务器程序,它…

    Java 2023年5月20日
    00
  • Java中List的使用方法简单介绍

    让我根据题目的要求给大家介绍一下Java中List的使用方法。 什么是List List是Java中一个常用的接口,它继承于Collection接口,表示一个有序(即列表)、可重复的元素集合。List中的每个元素都有其唯一的索引值,能够通过索引值来访问和修改元素。 List接口是一个泛型接口,可以定义存储不同类型元素的List集合。常见的List实现类有Ar…

    Java 2023年5月26日
    00
  • java web开发之servlet图形验证码功能的实现

    [TOC] 介绍 图形验证码(Captcha)是一种用于区分用户是机器人还是人类的测试。它通常用于网站注册、评论等功能。Java Web开发中,我们可以使用Servlet来实现图形验证码的功能,下面就来介绍一下如何实现。 实现步骤 以下是Servlet实现图形验证码的完整步骤: 创建验证码图片 将验证码图片输出到页面 将验证码传入Session中 验证用户输…

    Java 2023年6月15日
    00
  • Spring Boot与Spring MVC Spring对比及核心概念

    下面是关于“Spring Boot与Spring MVC Spring对比及核心概念”的详细攻略。 一、Spring Boot与Spring MVC Spring对比 1. Spring Spring框架是一个Java开发的应用程序框架,它为Java平台提供了综合的编程和配置模型。Spring框架是面向切面编程(AOP)的优秀实现,它的核心技术包括依赖注入(…

    Java 2023年5月15日
    00
  • AJAX SpringBoot 前后端数据交互的项目实现

    理解和实现AJAX SpringBoot前后端数据交互,需要涉及到以下知识点:SpringBoot、AJAX、RESTAPI和JSON数据格式。 1. 准备工作 首先,搭建一下SpringBoot的项目环境,然后在项目中引入一些必要的依赖,如下: Spring Boot Web Spring Boot Thymeleaf(或者其他视图模板依赖) Spring…

    Java 2023年6月2日
    00
  • Kafka利用Java实现数据的生产和消费实例教程

    Kafka利用Java实现数据的生产和消费实例教程 Kafka是一个高性能的分布式消息队列,可以用于实现各种系统之间的异步通信以及数据流的处理。本文将介绍如何使用Java实现Kafka的数据生产和消费。以下是详细的步骤: 步骤一:安装和启动Kafka服务器 在开始使用Kafka之前,需要先安装Kafka服务器。Kafka服务器的安装过程可以参考Kafka官方…

    Java 2023年5月20日
    00
  • MyBatis几种不同类型传参的方式总结

    Sure! MyBatis几种不同类型传参的方式总结 在MyBatis中,传参是非常重要的一部分。正确的传递参数对于正确的执行SQL语句非常关键。本文将介绍MyBatis的不同传参方式及其使用示例。 1. 基本参数类型 基本参数类型指的是Java中的简单数据类型,如int、String、float等,也包括其相应的包装类型。在Mapper文件中,可以直接使用…

    Java 2023年5月20日
    00
  • springboot通过注解、接口创建定时任务详解

    让我详细讲解一下关于“springboot通过注解、接口创建定时任务”的完整攻略。 一、创建定时任务需要的依赖 在项目中,需要导入以下依赖: <!– Spring Boot定时器需要的依赖 –> <dependency> <groupId>org.springframework.boot</groupId>…

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