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

首先需要明确的是,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日

相关文章

  • java转发和重定向的区别

    Java中的转发和重定向是两种不同的跳转方式,本文将详细讲解它们的区别: 转发 定义 转发是服务器内部地址的跳转,即客户端在访问一个地址时,由服务器将请求 “转发” 给另外一个地址进行处理,最终返回响应结果给客户端。客户端是感知不到这个跳转过程的,它是在服务器内部完成的。 特点 地址栏不会发生变化,客户端浏览器请求的地址不会更新。 服务器在完成请求后再将结果…

    Java 2023年6月16日
    00
  • Linux中使用Shell脚本查看Java线程的CPU使用情况

    下面是在Linux中使用Shell脚本查看Java线程的CPU使用情况的完整攻略: 1. 确认Java进程ID 在使用Shell脚本来查看Java线程CPU使用情况之前,我们需要确定Java应用程序的进程ID。可以使用命令: ps -ef | grep java 该命令将显示运行中的所有Java进程的进程ID、启动时间等信息,如下所示: root 1234 …

    Java 2023年5月20日
    00
  • java 发送 http 请求练习两年半(HttpURLConnection)

    1、起一个 springboot 程序做 http 测试: @GetMapping(“/http/get”) public ResponseEntity<String> testHttpGet(@RequestParam(“param”) String param) { System.out.println(param); return Resp…

    Java 2023年4月22日
    00
  • SpringSecurity导致SpringBoot跨域失效的问题解决

    首先需要明确的是,Spring Boot是默认开启CSRF保护的。而Spring Security也是默认开启CSRF保护的。当二者共存时,常常会产生CSRF保护机制引起的跨域问题。那么如何解决SpringSecurity导致SpringBoot跨域失效的问题呢?下面给出完整攻略。 1. 禁用Spring Security的CSRF保护 第一种解决方式是禁用…

    Java 2023年5月20日
    00
  • 详解在Linux虚拟机下配置tomcat

    详解在Linux虚拟机下配置tomcat 概述 Tomcat是一个开源的Java Servlet容器,是Apache软件基金会的Jakarta项目中的一个核心项目。Tomcat支持的规范包括Java Servlet、JavaServer Pages (JSP)、Java Expression Language (EL)和Java WebSocket。本文将以…

    Java 2023年5月19日
    00
  • java发起http请求获取返回的Json对象方法

    以下是Java发起HTTP请求获取返回的JSON对象的详细攻略: 第一步:引入依赖 在进行HTTP请求之前,需要先引入相关的依赖。这里,我们需要引入以下两个库: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpc…

    Java 2023年5月26日
    00
  • 教你怎么用JSP统计网站访问人数

    下面我将详细讲解如何使用 JSP 统计网站访问人数的完整攻略。 1. 确定需求和实现方式 首先,我们需要确定我们统计访问人数的具体需求。一般来说,统计网站访问人数可以通过记录网站访问量或者记录独立访客数量来实现。 对于记录网站访问量,一般常用的方式是在网站的每个页面中嵌入一个计数器。当用户访问网站的时候,计数器会自动加一。而对于独立访客数量的记录,则需要在用…

    Java 2023年6月15日
    00
  • 基于Security实现OIDC单点登录的详细流程

    下面是基于Security实现OIDC单点登录的详细流程: 1. 环境准备 首先,要在项目中添加Spring Security和Spring Security OAuth2依赖: <dependency> <groupId>org.springframework.security</groupId> <artifac…

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