单击回车继续。
2.8 Do you want to use a Data Transfer Object (DTO)?是否需要使用DTO?
这是一个单选题,有2个选项,使用上下键切换选项。
如果选择No, use the entity directly,可能会带来一些前后端耦合和传输效率的问题;所以这里选择[BETA] Yes, generate a DTO with MapStruct,虽然还是BETA版本,但实际项目中使用没出现什么问题。
单击回车继续。
2.9 Do you want to add filtering?是否需要添加筛选功能?
这是一个单选题,有2个选项,使用上下键切换选项。
如果选择添加筛选功能,代码中会添加JPA动态查询的逻辑,但实际代码还需要手动修改,也许将来新版本会不断完善这个功能;这里为了简单起见,选择Not needed。
单击回车继续。
2.10 Do you want pagination on your entity?是否需要分页功能?
这是一个单选题,有3个选项,使用上下键切换选项。
第2个选项适合Web UI,第3个选项适合Mobile UI;这里选择Yes, with pagination links。
单击回车继续。
问答结束,开始生成实体代码这个过程中会提示与已有文件有冲突,需要选择处理方式,提示的输入选项是Ynaxdh,说明如下:
Y: yes (Default) n: no a: yes to this question and all others (or always yes). x: abort (exit) d: show the differences between the old and the new file h: help, list all options这里选择a;
单击回车。实体代码生成过程比较快,通常1-2分钟就能完成。
至此,生成实体代码成功完成。可以执行maven测试命令来验证整个工程代码(如果生成工程代码时选择的构建工具是Maven)
$ mvn test如果一切正常,命令行会输出成功信息:
3 生成前端资源之前在生成工程代码时选择的前端组件是Angular,所以前端资源会按如下流程生成:
a, 生成工程代码或者实体代码的任务完成后,会自动触发执行yarn install;
b, yarn install执行完成后,会自动触发执行webpack:build;
c, webpack:build执行完成后,所有前端资源就已经生成了,默认是在app1/target/www目录下。
进入app1目录,输入命令后回车:
$ cd app1/ $ yarn start如果一切正常,会启动Webpack dev-server;
可通过浏览器访问:9000查看前端调试页面。此时所有前端资源的修改,都会同步更新到浏览器上。
4 数据库配置 4.1 启动一个数据库容器在命令行,任意目录下,启动一个mysql容器;如果本地没有mysql:5的镜像,容器启动时会自动去docker store下载镜像。
$ docker container run --name app1-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 32768:3306 mysql:5 4.2 在数据库中创建schema通过客户端连接上刚启动的数据库容器,添加一个名为app1的schema。应用启动时会自动在这个schema里面创建数据表。
4.3 修改应用的数据库配置spring.datasource.url中的端口号32768,与步骤4.1中-p参数指定的值保持一致。
spring.datasource.url中的schema名称app1,与步骤4.2中添加的schema名称保持一致。
spring.datasource.password的值my-secret-pw,与步骤4.1中MYSQL_ROOT_PASSWORD参数指定的值保持一致。
进入app1目录,输入命令后回车:
$ cd app1/ $ mvn -Pdev package如果一切正常,命令行会输出构建成功信息: