mybatis-plus,其常用的功能就是代码生成器,原因是它可以帮开发者做一些简单、重复的工作,以便解决开发者双手,更多时间用在关注业务逻辑上。
下面是我学习mybatis-plus过程中,编写代码生成器的代码可分为以下六个步骤:
- 全局配置(GlobalConfig)
- 数据源配置(DataSourceConfig)
- 策略配置(StrategyConfig)
- 包名配置(PackageConfig)
- 整合以上配置信息(AutoGenerator)
- 执行整合的对象
下面是其具体代码:
@Test
public void testCreate(){
//1.全局配置
GlobalConfig config=new GlobalConfig();
config.setActiveRecord(true)//是否支持AR模式
.setAuthor("itfeng")//作者
.setOutputDir("D:\\xxx\\mybatis-plus\\src\\main\\java")//生成路径
.setFileOverride(true)//文件是否被覆盖
.setServiceName("%sService")//service包下的命名方式
.setIdType(IdType.AUTO);//使用主键自增的策略
//2.数据源配置
DataSourceConfig dsConfig=new DataSourceConfig();
dsConfig.setDbType(DbType.MYSQL)//使用的数据库类型为Mysql
.setUrl("jdbc:mysql://localhost:3306/数据库名字")//数据库的url地址
.setDriverName("com.mysql.jdbc.Driver")//使用的驱动名字
.setUsername("")//用户名
.setPassword("");//密码
//3.策略配置
StrategyConfig strategyConfig=new StrategyConfig();
strategyConfig.setCapitalMode(true)//是否全局大写命名
.setDbColumnUnderline(true)//表名和字段名是否使用下划线命名
.setNaming(NamingStrategy.underline_to_camel)//数据库表映射到实体类的命名策略
//.setTablePrefix("tbl_")//设置表名的前缀
//.setInclude("airplane")(单表时的处理)
.setInclude("airplane,changesubway".split(","));//设置数据库表名(多表时的处理)
//4.包名策略
PackageConfig packageConfig=new PackageConfig();
packageConfig.setParent("com.itfeng.mp")//父路径
.setEntity("beans")//实体类生成到哪个包下
.setController("controller")//controller层生成到哪个包下
.setService("service")//service层生成到哪个包下
.setMapper("mapper")//mapper层生成到哪个包下
.setXml("mapper");//xml配置生成到哪个包下
//5.整合
AutoGenerator autoGenerator=new AutoGenerator();
autoGenerator.setGlobalConfig(config)
.setDataSource(dsConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig);
//6.执行
autoGenerator.execute();
}
下图是用以上代码生成的效果图:
以上是我初学mybatis-plus的练习代码,代码可能存在一些漏洞,后期还会继续更新,同时希望广大读者踊跃指出该文章的不足之处。