请老师检查!
1.数据库中建立phone与phone_price表格
创建phone表;
创建phone_price表;

2.开发服务发布模块 (producer)
2.1 前提准备
创建父模块:


2.2 正式编写
a.创建实体类Phone,定义编号、手机编号、名称、颜色、是否上架属性,并完成getter/setter等方法。
...;
..;
{
;
;
;
;
;
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
}b.定义手机查询的接口PhoneMapper,在接口中定义查询手机的方法,并使用Mybatis完成查询的sql语句。
...;
....;
....;
....;
...;
..;
{
()
();
}c.实现手机服务发布接口PhoneListService,定义方法getPhoneList完成手机数据查询。
...;
....;
..;
{
();
} ....;
....;
....;
....;
.....;
..;
..;
( )
{
;
() {
.();
}
}启动类
..;
...;
....;
{
([] ) {
.(., );
}
}3.开发费服务消费模块(consumer)
a. 创建价格实体类PhonePrice和手机价格PhoneAndPrice。
PhonePrice存在编号,手 机编号和价格属性。
PhoneAndPrice存在编号,手机编号,名称和价格属性。并完成getter/setter等方法
...;
..;
{
;
;
;
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
} ...;
..;
{
;
;
;
;
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
( ) {
. ;
}
() {
;
}
}b. 定义价格的查询的PhonePriceMapper接口,在接口中定义查询价格的方法,并使用Mybatis完成查询的sql语句。
...;
....;
....;
....;
...;
{
()
( );
}c. 定义手机价格查询PhonePriceService接口,PhonePriceServiceImpl实现该接口。
1)、在PhonePriceServiceImpl中,根据id查询手机价格
2)、在PhonePriceServiceImpl中,调用producer中PhoneListService接口查询所有手机信息,与查询的价格匹配封装到PhoneAndPrice中。
...;
....;
....;
..;
{
( );
();
} ....;
....;
....;
....;
....;
....;
....;
.....;
...;
..;
..;
..;
{
;
( )
;
( ) {
.();
}
() {
();
.();
( ; .(); ) {
.();
( ) {
();
.(.());
.(.());
.(.());
(.());
.(.());
.();
}
}
;
}
}d. 在concumer模块中定义PhonePriceController,并注入PhonePriceService,调用该类方法,完成开放对外消费接口
...;
....;
....;
.....;
.....;
..;
..;
{
;
()
() {
.();
}
}启动类:
..;
...;
....;
{
([] ) {
.(., );
}
}4. 结果

5.我曾遇到过的问题(坑):
问题1:消费者使用其他模块的服务时,只写@Reference注解,忘记了指定其他模块服务的版本:
应该如红框所写:

问题2:写 sql 时,容易多加一个 } 。且还没有红波浪线提示。

解决: 所以,直接按一下 { 即可,因为会自动补全另外一半的大括号。

问题3:自己写时,消费者,也错误的加了右下方的dubbo扫描配置;
其实不用加,因为消费者的service层,是用于对外暴露服务的,与dubbo无关;而只有被调用的生产者,其service层才是一个dubbo服务,才需要扫描这个路径下的dubbo的注解@Servicer:

问题4:对象列表创建方式不对,导致即使查询出了正确的数据,对象列表也没装进去。

解决:
应该通过new的方式,创建一个对象列表;(OOP)
对从数据库中查询出来的对象,要有判空的意识;

正在回答
同学你好,同学的问题老师在这里已经做了回答,请查看: https://class.imooc.com/course/qadetail/341478
祝学习愉快~
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星