个人做网站流程怎样自己开发一款软件
代码自动生成器
- 一、先创建一个表
- 二、创建一个类,配置代码生成器
- 三、运行方法
- 四、运行主方法,报错了。
一、先创建一个表
二、创建一个类,配置代码生成器
package com.gang;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
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.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import java.util.ArrayList;public class gangCode {public static void main(String[] args) {//我们需要构建一个代码生成器对象AutoGenerator mpg = new AutoGenerator();//怎么样去执行,配置策略//1、全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");//获取当前目录gc.setOutputDir(projectPath+"/src/main/java");//输出到哪个目录gc.setAuthor("陈某");gc.setOpen(false);gc.setFileOverride(false);//是否覆盖gc.setServiceName("%sService");//去Service的I前缀gc.setIdType(IdType.ID_WORKER);gc.setDateType(DateType.ONLY_DATE);gc.setSwagger2(true);mpg.setGlobalConfig(gc);//2、设置数据源DataSourceConfig dsc = new DataSourceConfig();dsc.setUsername("root");dsc.setPassword("123456");dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus_study_one?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);//3、包的配置PackageConfig pc = new PackageConfig();pc.setModuleName("chickenkun");pc.setParent("com.gang");pc.setEntity("pojo");pc.setMapper("mapper");pc.setService("service");pc.setController("controller");mpg.setPackageInfo(pc);//4、策略配置StrategyConfig strategy = new StrategyConfig();//strategy.setInclude("admin","danyuan","building","room");//设置要映射的表名,只需改这里即可strategy.setInclude("chickenkun");//设置要映射的表名,只需改这里即可strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.setEntityLombokModel(true);//是否使用lombok开启注解strategy.setLogicDeleteFieldName("deleted");//自动填充配置TableFill gmtCreate = new TableFill("create_time", FieldFill.INSERT);TableFill gmtUpdate = new TableFill("update_time", FieldFill.INSERT_UPDATE);ArrayList<TableFill> tableFills = new ArrayList<>();tableFills.add(gmtCreate);tableFills.add(gmtUpdate);strategy.setTableFillList(tableFills);//乐观锁配置strategy.setVersionFieldName("version");strategy.setRestControllerStyle(true);//开启驼峰命名strategy.setControllerMappingHyphenStyle(true);//localhost:8080/hello_id_2mpg.setStrategy(strategy);mpg.execute();//执行}
}
三、运行方法
报错了,缺少依赖,Velocity是一个基于Java的模板引擎,其提供了一个Context容器,在java代码里面我们可以往容器中存值,然后在vm文件中使用特定的语法获取,这是velocity基本的用法,其与jsp、freemarker并称为三大视图展现技术。
添加依赖
<!--Velocity是一个基于Java的模板引擎--><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.0</version></dependency>
导入依赖之后,再运行一次,没有报错,自动生成了代码
但是有注解报错了
报错的原因是缺少依赖 @ApiModel 跟 @ApiModelProperty 都是 swagger2 的注解。
导入依赖包,解决。
<!-- swagger2 所需依赖 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency>
四、运行主方法,报错了。
报错的原因是,自动生成的代码,mapper包,我们并没有扫描
把mapper包扫描加上
还有的报错可能就是service实现类并没有加@Service注解