快速开发一个微服务的CRUD功能
方法一:使用码云开源项目
1.从码云拉取源码
在码云上搜索“人人开源”可以看到这两个开源项目
复制https地址
在自己电脑桌面上右键 -> Git Hush Here
输入命令git clone http://XX 克隆项目到自己的电脑
删掉原来的.git文件
2.导入到自己的项目
复制克隆下来的项目,粘贴到自己的项目中
在聚合项目的pom文件中添加此项目
1)找到sql文件,复制并在数据库中执行
2)修改application文件中的数据库连接地址
3)运行
前端代码可以用VScode打开,输入npm install 命令导入需要的组件
输入npm run dev 启动前端代码
方法二:使用码云上的代码生成工具生成CRUD
1.从码云上下载renren-generator
同样的方法从码云上下载源码导入到自己的项目
1)复制粘贴renren-generator文件夹到项目
2)在聚合项目的pom文件加入renren-generator模块
3)修改renren-generator的数据库连接地址,想生成哪个微服务模块的就连哪个微服务模块的数据库
4)修改generator.properties文件的包名和路径
5)运行
运行成功打开页面可以数据库表名,点击生成代码,可看到下载到的压缩包
1)找到压缩包中有用的源码文件,复制粘贴到自己的项目中
2)发现缺少很多工具类
3)新建Maven项目,存放公共库类
1)每个微服务的pom文件中引入新建的公共common模块
2)公共common模块加入工具类(renren-fast项目中有很多工具类),引入需要的公共组件
1)在公共common模块中引入驱动,连接池
<!-- 导入mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
<!-- 导入连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.13</version>
</dependency>
<!-- 导入mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
2)每个微服务的application文件中加入数据库连接配置,整合MyBatis-plus配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.91.128:3306/firstcloud_pms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
#Oracle需要打开注释
#validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/*
#login-username: admin
#login-password: admin
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: false
wall:
config:
multi-statement-allow: true
#mybatis
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.ynking.firstcloud.product.entity
global-config:
#数据库相关配置
db-config:
#主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
id-type: AUTO
logic-delete-value: -1
logic-not-delete-value: 0
banner: false
#原生配置
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
jdbc-type-for-null: 'null'
3)使用@MapperScan(“com.ynking.firstcloud.product.dao”) 注解
同样的方法生成其他模块的CURD,并为每个模块分配端口