首先需要明确的是,MybatisPlus是Mybatis的一个增强版本,能够大大提高开发效率。而MybatisPlus代码生成器能够自动生成基本的CRUD操作,这对于快速搭建项目是非常有帮助的。下面我将详细讲解如何实现一个好用的MybatisPlus代码生成器。
准备工作
- 添加MybatisPlus及其依赖到项目中。
- 创建数据库及数据表。(以下示例中,我们使用的是MySQL,表名为“user_info”,其中有id、username、password、email、phone五个字段)
配置代码生成器
- 创建一个配置类(例如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();
}
}
- 修改数据库连接、输出目录、包名等配置信息,运行MybatisPlusGeneratorConfig类,即可自动生成entity、mapper和mapper.xml文件。
使用代码生成器
生成的mapper.xml已经包含了基本的CRUD操作,使用时只需在Service层中调用即可。以user_info表为例,以下是两个示例:
- 查询所有用户
@Service
public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {
@Override
public List<UserInfo> listUserInfos() {
return baseMapper.selectList(null);
}
}
- 根据用户名查询用户
@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技术站