源代码:https://github.com/sunuanwuhou/Northwind
一.准备工具
1.Spring Roo最新版,官方下载地址:http://projects.spring.io/spring-roo/#download-widget
2.maven 版本在3.0以上:官方下载地址:https://maven.apache.org/download.cgi
3.jdk版本,适用于1.8
4.数据库 我是MYSQL,ORACLE 也可以,其他数据库可不可以可以参照官方文档。
二.配置生产环境
1.安装maven
检测是否成功
2.安装spring roo
检测是否安装成功
三.编写roo文件
因为roo文件有很多属性,这里就不一一述说了,只给出最简单的例子供大家参考
//创建maven项目 java8环境下
project setup --topLevelPackage org.northwind --projectName "Northwind" --java 8 --multimodule STANDARD
//将对象名称设置为可选
settings add --name spring.roo.jpa.require.schema-object-name --value false --force
//连接数据库以及账号密码
jpa setup --provider HIBERNATE --database MYSQL
//删除系统默认的数据库主机名和端口
property remove --key spring.datasource.url
//自定义数据库ip和端口以及数据库名称以及编码 事先要在相对应的数据库建好表
property add --key spring.datasource.url --value jdbc:mysql://127.0.0.1:3306/spring?useUnicode=true&characterEncoding=UTF-8
property add --key spring.datasource.username --value root
property add --key spring.datasource.password --value root
//建表的方式 加载hibernate自动更新数据库结构
property add --key spring.jpa.properties.hibernate.hbm2ddl.auto --value update
//允许创建bean
module focus --moduleName model
//创建实体类,其他创建方式参考官方文档
entity jpa --class ~.City
field string --fieldName description
field string --fieldName name
entity jpa --class ~.Country
field string --fieldName name
field string --fieldName description
//关联关系 如果主表为city。从表为country
focus --class ~.City
field reference --notNull --type ~.country --fieldName city_county --joinColumnName city --referencedColumnName id --mappedBy City(主表)
//解释每个字段的意思
focus --class ~.City(主表)
field reference
--notNull(不为空)
--type ~.country(从表)
--fieldName city_county(这个可以随表写,是生成在bean中的,但不能重复,建议主表_字表)
--joinColumnName city_id(这个是从表的外键.可自己之指定名称,建议主表_id)
--referencedColumnName id(主表的那个字段作为从表的外键,不写默认为id)
--mappedBy City(主表)
web mvc setup
四.编写脚本文件
0.clean 目的是为了下次生成项目的时候,清楚之前的残余。
rmdir /s /q .roo
rmdir /s /q application
rmdir /s /q integration
rmdir /s /q model
rmdir /s /q repository
rmdir /s /q service-api
rmdir /s /q service-impl
del log.roo
del pom.xml
1.build 扫描roo文件生成maven项目,此maven项目是以spring boot作为启动项。
roo script --file db.roo
2.package 进行打包
mvn package
打包后会生成俩个war包,一个是.war,一个是-exec.war。一个适用于windows一个适用于linux。
3.run 运行jar包
//进入war包所在目录
cd application\target
//运行项目
java -jar application-1.0.0.BUILD-SNAPSHOT-exec.war
五.成功运行上面几个脚本后,你可以看到数据库中有新表产生。
1.可以修改表结构。
2.可以增加字段,对数据无影响。
3.以添加在数据的字段,更改roo文件后,无法删除。