在spring cloud eureka(一)中,已经搭建好了eureka server,这里搭建一个微服务模块-orderservice。此模块是一个eureka client,会去查询mysql数据库,对外提供接口获取数据。
既然需要查询mysql数据库,先提前准备好数据,如下图:
打开idea,创建project,如下图:
点击next,选择依赖--Spring Cloud Discovery->Eureka Discovery Client:
点击finish,完成工程创建。
打开pom.xml,由于需要对外提供接口,需要引入web依赖,还有对mysql的支持,以及为了简化实体类的写法,引入lombok,操作数据库使用mybatis-plus。如下图:
进入src/main/resources/application.properties文件配置参数:
参数说明:
#应用端口号 server.port=8081 #应用名,也是注册到注册中心的服务名 spring.application.name=orderservice #注册中心url,和eureka server配置保持一致 eureka.client.service-url.defaultZone=http://localhost:8761/eureka #数据库连接参数配置 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/orderdb spring.datasource.username=root spring.datasource.password=root #由于mybatis-plus会自动帮助生成sql,为了查看生成的sql,开启控制台打印 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
在启动类添加注解:@EnableEurekaClient,@MapperScan("com.example.orderservice.mapper")
@EnableEurekaClient表示此应用是一个eureka client;
@MapperScan("com.example.orderservice.mapper")是mybatis-plus注解,表示扫描的mapper路径。
创建实体类:
@data是lombok注解,就不用再写getter,setter等方法了;
以下皆是mybatis-plus注解:
@TableName("tb_order"):对应数据库的表名
@TableId:指明主键
@TableField("amount"):对应表中的字段
创建mapperj接口,继承BaseMapper<Order>,就获得了mybatis-plus操作数据库的接口:
创建service调用mapper,查询数据库:
此处的orderMapper可能会报红线,其实就是一个警告,无大的影响,如果需要去掉,则可以设置:file->setting->Editor->Inspections->Spring->Spring Core->Code->Autowiring for bean class,将error设置为Warning,即可:
创建controller对外提供接口:
至此,项目搭建完毕,启动项目,查看注册中心是否有次项目:
最底部,可以看到orderservice已经在里面了,最后使用postman调用接口,看是否能够获取到数据:
数据已经获取到,此微服务接口开发完毕,后面会再创建一个微服务userservice,使用feign调用此微服务接口获取数据。