本篇文章为你整理了代码生成器(代码生成器软件)的详细内容,包含有代码生成器在线 代码生成器软件 代码生成器手机版 代码生成器下载 代码生成器,希望能帮助你了解 代码生成器。
groupId org.mybatis.generator /groupId
artifactId mybatis-generator-maven-plugin /artifactId
version 1.3.0 /version
!-- 插件的依赖 --
dependencies
!-- 逆向工程的核心依赖 --
dependency
groupId org.mybatis.generator /groupId
artifactId mybatis-generator-core /artifactId
version 1.3.2 /version
/dependency
!-- 数据库连接池 --
dependency
groupId com.mchange /groupId
artifactId c3p0 /artifactId
version 0.9.2 /version
/dependency
!-- MySQL驱动 --
dependency
groupId mysql /groupId
artifactId mysql-connector-java /artifactId
version 5.1.8 /version
/dependency
/dependencies
/plugin
/plugins
/build
创建generatorConfig.xml配置文件,从官网中复制下来即可.其中元素标签说明卸载注释中
?xml version="1.0" encoding="UTF-8" ?
!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"
generatorConfiguration
targetRuntime: 执行生成的逆向工程的版本
MyBatis3Simple:生成基本的CURD(清新简洁版)
MyBatis3:生成带条件的CURD(奢华尊享版)
context id="DB2Tables" targetRuntime="MyBatis3"
!-- 数据库连接信息 --
jdbcConnection driver connectionURL="jdbc:mysql:///your_database?useUnicode=true amp;characterEncoding=utf8"
userId="username"
password="password" /
!-- javaBean的生成策略 --
javaModelGenerator targetPackage="module_name.entity" targetProject=".\src\main\java"
property name="enableSubPackages" value="true" /
property name="trimStrings" value="true" /
/javaModelGenerator
!-- SQL映射文件的生成策略 --
sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources"
property name="enableSubPackages" value="true" /
/sqlMapGenerator
!-- Mapper接口的生成策略 --
javaClientGenerator type="XMLMAPPER" targetPackage="module_name.mapper" targetProject=".\src\main\java"
property name="enableSubPackages" value="true" /
/javaClientGenerator
!-- 逆向分析的表 --
!-- tableName设置为*号,可以对应所有的表,此时不用写domainObjectName --
!-- domainObjectName属性指定生成出来的实体类的类名 --
table tableName="admin" domainObjectName="Admin" /
/context
/generatorConfiguration
最后在右边点击maven中插件,双击mybatis-generator:generate
说明:上述两个配置文件都会报红,不用管尽管运行即可
MybatisPlus Generator
使用代码形式自动生成
会生成从Controller层到Dao层的所有文件,其中还包括实体类
首先添加必须的依赖
dependencies
!--mybatis-plus 持久层--
dependency
groupId com.baomidou /groupId
artifactId mybatis-plus-boot-starter /artifactId
version 3.0.5 /version
/dependency
!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 --
dependency
groupId org.apache.velocity /groupId
artifactId velocity-engine-core /artifactId
version 2.0 /version
/dependency
!--lombok用来简化实体类:需要安装lombok插件--
dependency
groupId org.projectlombok /groupId
artifactId lombok /artifactId
version 1.18.20 /version
/dependency
/dependencies
这里是在单元测试中运行
public class GeneratorTest{
@Test
public void run() {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
// 换成绝对路径
gc.setOutputDir("your project absolute path" + "/src/main/java");
gc.setAuthor("xsha_h");
gc.setOpen(false); //生成后是否打开资源管理器
gc.setFileOverride(false); //重新生成时文件是否覆盖
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setIdType(IdType.ID_WORKER_STR); //主键策略
gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
gc.setSwagger2(true);//开启Swagger2模式
mpg.setGlobalConfig(gc);
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql:///database_name?serviceTimezone=GMT%2B8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("username");
dsc.setPassword("password");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
// 包名 com.xsha.module_name
pc.setParent("com.xsha");
pc.setModuleName("module_name"); //模块名
pc.setController("controller");
pc.setEntity("entity");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
// 生成表格名称对应的实体类
strategy.setInclude("table_name1", "table_name2", "table_name3", "table_name4");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀(根据需求变化)
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
mpg.setStrategy(strategy);
以上就是代码生成器(代码生成器软件)的详细内容,想要了解更多 代码生成器的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。