一、什么是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