全方位介绍com.baomidou

一、什么是com.baomidou

com.baomidou是一个用于Java Web开发的快速开发平台,它的目的是为了提供更加高效的开发和个性化配置,同时提升开发人员的编码体验。它从底层进行了优化,支持多个主流框架的集成使用。

二、为什么选择com.baomidou

1、代码生成器:

com.baomidou提供了一款高效的代码生成器,可以生成基本的Model、Mapper、Service、Controller等文件,同时它支持自定义模板文件,可以快速搭建整个项目的基本框架。

2、集成多种主流框架:

com.baomidou支持集成Mybatis-Plus、Spring Boot、Beetl、Kisso等多种主流框架,能够满足不同需求的开发者使用。

3、高度可配置:

com.baomidou的配置文件非常全面,支持多种运行时参数和环境参数的配置,同时还支持多种配置文件的集成使用(yml、properties等)。

4、简单易用:

com.baomidou对于Java Web开发的每个环节都进行了优化,特别是在CRUD操作的方面,它提供的一些封装类和工具函数能够快速的完成增、删、改、查等操作。

三、使用com.baomidou的注意事项

1、合理的设计目录结构:

在使用com.baomidou开发项目时,需要合理设计项目的目录结构。尤其是在使用代码生成器时,需要注意生成的目录和文件位置,可以避免一些不必要的问题。

2、适合的开发模式:

com.baomidou适合使用MVC架构的开发模式,根据它支持的框架,可以使用Mybatis-Plus进行Model层操作,同时使用Spring Boot、Beetl进行Controller和View层的操作。

3、了解常用的工具类和封装方法:

com.baomidou提供了一些常用的工具类和封装方法,能够减轻开发者的负担,例如:Wrapper类的使用、Mybatis-Plus的分页和排序等。

四、使用com.baomidou的示例代码

1、代码生成器的使用示例


public class CodeGenerator {

    private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
    private static final String DB_URL = "jdbc:mysql://localhost:3306/test";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "123456";

    private static final String[] TABLES = new String[]{"user", "role", "permission"};

    public static void main(String[] args) {
        GlobalConfig config = new GlobalConfig();
        config.setOutputDir("D:\\code_generator");
        config.setAuthor("example");
        config.setActiveRecord(true);
        config.setEnableCache(false);
        config.setBaseResultMap(true);
        config.setBaseColumnList(true);
        config.setXmlName("%sMapper");
        config.setServiceName("I%sService");
        config.setServiceImplName("%sServiceImpl");
        config.setControllerName("%sController");

        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setDriverName(DRIVER_NAME);
        dataSourceConfig.setUrl(DB_URL);
        dataSourceConfig.setUsername(USERNAME);
        dataSourceConfig.setPassword(PASSWORD);

        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setCapitalMode(true);
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setTablePrefix("t_");
        strategyConfig.setInclude(TABLES);

        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example");
        packageConfig.setEntity("model");
        packageConfig.setMapper("dao");
        packageConfig.setService("service");
        packageConfig.setServiceImpl("service.impl");
        packageConfig.setController("web");

        new AutoGenerator().setGlobalConfig(config)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(packageConfig)
                .execute();
    }
}

2、Controller层和Service层的示例代码


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

    @Autowired
    private IUserService userService;

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getById(id);
    }

    @PostMapping("/")
    public void saveUser(@RequestBody User user) {
        userService.save(user);
    }

    @PutMapping("/{id}")
    public void updateUser(@PathVariable Long id, @RequestBody User user) {
        user.setId(id);
        userService.updateById(user);
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.removeById(id);
    }
}

@Service
public class UserServiceImpl extends ServiceImpl implements IUserService {
}

原创文章,作者:OFFIN,如若转载,请注明出处:https://www.506064.com/n/324981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
OFFIN的头像OFFIN
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相关推荐

  • com.alipay.sofa.bolt框架

    com.alipay.sofa.bolt框架是一款高性能、轻量级、可扩展的RPC框架。其广泛被应用于阿里集团内部服务以及阿里云上的服务。该框架通过NIO支持高并发,同时还内置了多种…

    编程 2025-04-29
  • com.picacomic.fregata

    一、介绍 Com.picacomic.fregata是一个基于Java的机器学习库,旨在提供易于使用的API来开发各种机器学习模型。 在最初的版本中,com.picacomic.f…

    编程 2025-04-25
  • 访问github.com的请求遭到拒绝

    一、网络问题导致访问失败 访问github.com的请求遭到拒绝,可能是由于网络问题导致的。首先,我们需要检查网络是否正常,例如检查网络连接是否断开,检查是否有代理设置等。如果网络…

    编程 2025-04-23
  • 深入了解npmjs.com

    npm是一个跨平台的包管理器,它是世界上最大的软件注册表之一,包含了数百万个包,可以让开发者在项目中使用其他社区或个人编写的代码。 一、npm的历史 npm的诞生是为了解决Java…

    编程 2025-04-20
  • www.b2s55.com的介绍

    www.b2s55.com是一家专门提供商务服务的网站,主要包括了商务通讯、商业调查、商业咨询、银行信贷等综合性服务。下面我们将从五方面对其进行详细介绍。 一、商务通讯 www.b…

    编程 2025-02-25
  • com.android.settings:Android设置应用程序的详细阐述

    一、介绍 com.android.settings是Android操作系统中自带的一个用于设置的应用程序,它是一个全方位的设置中心,用户可以从这个应用中查找、配置设备的各种设置。 …

    编程 2025-02-01
  • 深入理解com.lmax.disruptor框架

    在高性能计算场景下,事件驱动方式是提高效率和吞吐量的重要手段。而com.lmax.disruptor就是其中一款优秀的异步事件处理框架。本文将从其基础概念,应用场景,原理实现,性能…

    编程 2025-01-24
  • 深入了解COM Exception

    一、ComException概述 当我们在使用COM组件时,往往会遇到一些异常,这些异常就是ComException。 ComException是由COM组件或者.NET封装COM…

    编程 2025-01-20
  • 2048.com 探究

    一、游戏介绍 2048是一款益智类数字合并游戏,由意大利程序员Gabriele Cirulli于2014年3月创建。游戏中玩家需要不停滑动数字块(默认4×4)来达成最终目…

    编程 2025-01-16
  • 关于certifloat.com的信息

    本文目录一览:

    编程 2025-01-16

发表回复

登录后才能评论