当前位置: 首页 > news >正文

网页制作与网站建设实战大全/百度爱采购优化软件

网页制作与网站建设实战大全,百度爱采购优化软件,开源购物系统,免费crm软件今天开始学习springcloud,先搭建一个简单的支付模块,后续再慢慢增加功能。编写微服务代码都要遵循以下步骤: 一、创建module 二、更改pom文件 三、编写yml文件 四、编写主启动类 五、编写业务类 1、sql语句 2、entity (1&…

        今天开始学习springcloud,先搭建一个简单的支付模块,后续再慢慢增加功能。编写微服务代码都要遵循以下步骤:

一、创建module

二、更改pom文件

三、编写yml文件

四、编写主启动类

五、编写业务类

        1、sql语句

        2、entity

                (1)实体类

                (2)封装的json类型(用于传给前端)      

                  

        3、mapper

        4、mapper.xml

        5、service

        6、serviceImpl

        7、controller

六、运行测试

        1、测试get请求

        2、测试post请求



一、创建module

        创建一个简单的maven工程和模块,maven选择的版本是3.5.2.

二、更改pom文件

父工程pom.xml:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.shang.cloud</groupId><artifactId>cloud</artifactId><version>1.0-SNAPSHOT</version><modules><module>cloud-provider-payment8001</module></modules><packaging>pom</packaging><!-- 统一管理jar包版本 --><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.16.18</lombok.version><mysql.version>5.1.47</mysql.version><druid.version>1.1.16</druid.version><mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version></properties><!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version  --><dependencyManagement><dependencies><!--spring boot 2.2.2--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.2.2.RELEASE</version><type>pom</type><scope>import</scope></dependency><!--spring cloud Hoxton.SR1--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR1</version><type>pom</type><scope>import</scope></dependency><!--spring cloud alibaba 2.1.0.RELEASE--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.spring.boot.version}</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version><optional>true</optional></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork><addResources>true</addResources></configuration></plugin></plugins></build>
</project>

支付模块pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud</artifactId><groupId>com.shang.cloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-provider-payment8001</artifactId><dependencies><!--包含了sleuth+zipkin--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency>
<!--        &lt;!&ndash;eureka-client&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>org.springframework.cloud</groupId>-->
<!--            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
<!--        </dependency>--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency>
<!--        <dependency>-->
<!--            <groupId>com.alibaba</groupId>-->
<!--            <artifactId>druid-spring-boot-starter</artifactId>-->
<!--            <version>1.1.10</version>-->
<!--        </dependency>--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.20</version></dependency><!--mysql-connector-java--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--jdbc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

三、编写yml文件

application.yml:

server:port: 8001spring:application:name: cloud-payment-servicedatasource:type: com.alibaba.druid.pool.DruidDataSource            # 当前数据源操作类型driver-class-name: org.gjt.mm.mysql.Driver              # mysql驱动包url: jdbc:mysql://localhost:3306/springcloud?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: rootmybatis:mapperLocations: classpath:mapper/*.xmltype-aliases-package: com.atguigu.springcloud.entities    # 所有Entity别名类所在包

四、编写主启动类

package com.shang.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class PaymentMain8001 {public static void main(String[] args) {SpringApplication.run(PaymentMain8001.class,args);}
}

五、编写业务类

按照 sql -> entity -> mapper -> service -> serviceImpl -> controller 的顺序编写

        

        1、sql语句

CREATE TABLE `payment`(`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`serial` VARCHAR(200) DEFAULT '',PRIMARY KEY(`id`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

        2、entity

                (1)实体类

package com.shang.cloud.entities;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Payment implements Serializable {private Long id;private String serial;
}

                (2)封装的json类型(用于传给前端)      

package com.shang.cloud.entities;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** 传给前端的json串类型* @param <T>*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonResult<T> {private Integer code;private String message;private T data;public CommonResult(Integer code, String message){this(code,message,null);}
}

                  

        3、mapper

package com.shang.cloud.dao;import com.shang.cloud.entities.Payment;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;@Mapper
public interface PaymentDao {public int create(Payment payment);public Payment getPaymentById(@Param("id") Long id);
}

        4、mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.shang.cloud.dao.PaymentDao"><insert id="create" parameterType="com.shang.cloud.entities.Payment" useGeneratedKeys="true" keyProperty="id">insert into payment(serial) values(#{serial})</insert><resultMap id="BaseResultMap" type="com.shang.cloud.entities.Payment"><id column="id" property="id" jdbcType="BIGINT"/><id column="serial" property="serial" jdbcType="VARCHAR"/></resultMap><select id="getPaymentById" parameterType="long" resultMap="BaseResultMap">select * from payment where id=#{id}</select></mapper>

        5、service

package com.shang.cloud.service;import com.shang.cloud.entities.Payment;
import org.apache.ibatis.annotations.Param;public interface PaymentService {public int create(Payment payment);public Payment getPaymentById(@Param("id") Long id);
}

        6、serviceImpl

package com.shang.cloud.service.impl;import com.shang.cloud.dao.PaymentDao;
import com.shang.cloud.entities.Payment;
import com.shang.cloud.service.PaymentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class PaymentServiceImpl implements PaymentService {@Autowiredprivate PaymentDao paymentDao;@Overridepublic int create(Payment payment) {return paymentDao.create(payment);}@Overridepublic Payment getPaymentById(Long id) {return paymentDao.getPaymentById(id);}
}

        7、controller

package com.shang.cloud.controller;import com.shang.cloud.entities.CommonResult;
import com.shang.cloud.entities.Payment;
import com.shang.cloud.service.PaymentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@Slf4j
public class PaymentController {@Autowiredprivate PaymentService paymentService;@PostMapping(value = "/payment/create")public CommonResult create(@RequestBody Payment payment){int result = paymentService.create(payment);log.info("========插入结果:" + result);if (result > 0){return new CommonResult(200, "插入结果集成功", result);} else {return new CommonResult(444, "插入结果集失败", null);}}@GetMapping(value = "/payment/get/{id}")public CommonResult getPaymentById(@PathVariable("id") Long id){Payment payment = paymentService.getPaymentById(id);log.info("========插入结果:" + payment);if (payment != null){return new CommonResult(200, "查询成功", payment);} else {return new CommonResult(444, "没有对应记录,查询id:"+id, null);}}
}

六、运行测试

        1、测试get请求

        直接使用浏览器地址栏

        拿到json串

        2、测试post请求

        使用postman工具来测试

        数据库中也成功显示插入的数据 

http://www.lbrq.cn/news/1274923.html

相关文章:

  • 自己怎么做免费网站空间/市场营销活动策划方案
  • 网站的分辨率是多少/推广员是做什么的
  • 做微博网站/seo关键词词库
  • 信访举报网站建设情况总结/seo优化是指
  • wordpress电视主题/百度站长工具seo综合查询
  • 锦州网站建设最独特/windows11优化大师
  • 温州快建网站/河源新闻最新消息
  • 滑县住房城乡建设厅门户网站/湖南seo推广系统
  • 做网站去哪里/线上推广宣传方式有哪些
  • 网站 如何做用户统计/百度网址入口
  • 人妖和美女做视频网站/深圳高端seo外包公司
  • 网站开发流程可规划为那三个阶段/seo站长工具查询系统
  • 装饰公司网站建设/百度搜索量查询
  • 广告公司的网站建设价格/app制作公司
  • 网站关键词布局图/百度一下你就知道网页
  • 小区服务网站开发论文/百度地图疫情实时动态
  • 商丘市建立网站公司/seo搜索引擎优化平台
  • asp网站出现乱码/百度知道问答
  • 网络营销seo优化/seo手机端排名软件
  • 做动态logo网站/软文模板app
  • 一般做个网站多少钱/国家大事新闻近三天
  • 扬中如何优化网站/站长之家app
  • 网站开发用户需求分析/seo优化工程师
  • 开锁做网站怎么样/网站开发制作培训学校
  • 深圳网站设计九曲网站建设/西安网站优化培训
  • 梅州住房和建设局网站/推广教程
  • 泰州网站建设报价/久久seo正规吗
  • 网站开发与软件开发区别/网站流量排名查询工具
  • 一站式网站建设报价/bing搜索引擎国内版
  • 电子商务网站的建设和维护论文/东莞网站到首页排名
  • 神经网络学习笔记
  • (27)运动目标检测之对二维点集进行卡尔曼滤波
  • wpf之ContentPresenter
  • 另外几种语言挑战100万行字符串文本排序
  • AI 安监系统:为工业园安全保驾护航
  • LeetCode 53 - 最大子数组和