建表SQL语句的书写

CREATE TABLE `payment`  (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`serial` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '支付流水号',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '支付表' ROW_FORMAT = Dynamic;


建议使用@Mapper 注解,尽量少使用 @Repository 注解



mybatis的映射文件PaymentMapper.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.dym.springcloud.dao.PaymentDao"></mapper>




父的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"><modelVersion>4.0.0</modelVersion><groupId>com.atguigu.springcloud</groupId><artifactId>dym_cloud2021</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>8.0.19</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.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>

cloud-provider-payment8001的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>dym_cloud2021</artifactId><groupId>com.atguigu.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-provider-payment8001</artifactId><dependencies><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><!--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>

application.yml

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

PaymentMain8001.java

package com.dym.springcloud;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);}
}

Payment.java

package com.dym.springcloud.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;
}

CommonResult.java

package com.dym.springcloud.entities;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;@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);}
}

PaymentDao.java

package com.dym.springcloud.dao;import com.dym.springcloud.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);
}

PaymentMapper.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.dym.springcloud.dao.PaymentDao"><insert id="create" parameterType="com.dym.springcloud.entities.Payment" useGeneratedKeys="true" keyProperty="id">insert into payment(serial) values(#{serial})</insert><resultMap id="BaseResultMap" type="com.dym.springcloud.entities.Payment"><id column="id" property="id" jdbcType="BIGINT"></id><id column="serial" property="serial" jdbcType="VARCHAR"></id></resultMap><select id="getPaymentById" parameterType="Long" resultMap="BaseResultMap">select * from payment where id=#{id};</select></mapper>

PaymentService.java

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

PaymentServiceImpl.java

package com.dym.springcloud.service.impl;import com.dym.springcloud.dao.PaymentDao;
import com.dym.springcloud.entities.Payment;
import com.dym.springcloud.service.PaymentService;
import org.springframework.stereotype.Service;import javax.annotation.Resource;@Service
public class PaymentServiceImpl implements PaymentService {@Resourceprivate PaymentDao paymentDao;public int create(Payment payment){return paymentDao.create(payment);}public Payment getPaymentById(Long id){return paymentDao.getPaymentById(id);}
}

PaymentController.java

package com.dym.springcloud.controller;import com.dym.springcloud.entities.CommonResult;
import com.dym.springcloud.entities.Payment;
import com.dym.springcloud.service.PaymentService;
import lombok.extern.slf4j.Slf4j;
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;import javax.annotation.Resource;@RestController
@Slf4j
public class PaymentController {@Resourceprivate PaymentService paymentService;@PostMapping(value ="/payment/create")public CommonResult create(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);}}}




Rest 微服务工程搭建01——微服务提供者Module模块相关推荐

  1. Rest 微服务工程搭建02——微服务消费者订单Module模块 || @RequestBody 的重要作用

    restTemplate的使用 https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springfra ...

  2. SpringBoot集成gRPC微服务工程搭建实践

    前言 本文将使用Maven.gRPC.Protocol buffers.Docker.Envoy等工具构建一个简单微服务工程,笔者所使用的示例工程是以前写的一个Java后端工程,因为最近都在 学习微服 ...

  3. 基于CSE的微服务工程实践-多微服务框架演进

    [摘要] 本文介绍了在微服务架构持续演进过程中,如何解决多种REST开发框架并存的问题.重点描述了网关在将请求转发给不同框架的微服务实例时,治理能力的差异:描述了CSE在提供第三方微服务访问方面的治理 ...

  4. 商城项目03_人人前后端项目、逆向工程、common工程搭建、coupon以及各个微服务工程搭建

    文章目录 ①. 人人前后端项目 ②. 人人项目-逆向工程 ③. common工程搭建 ④. coupon.member.ware.order代码导入 ①. 人人前后端项目 ①. 在码云上搜索人人开源, ...

  5. Rest 微服务工程搭建03——工程重构

    cloud-api-commons 的pom文件 <?xml version="1.0" encoding="UTF-8"?> <projec ...

  6. Kratos技术系列|从Kratos设计看Go微服务工程实践

    导读 github.com/go-kratos/kratos(以下简称Kratos)是一套轻量级 Go 微服务框架,致力于提供完整的微服务研发体验,整合相关框架及周边工具后,微服务治理相关部分可对整体 ...

  7. 微服务工程消费dubbo服务的配置

    1. 应用场景 微服务工程,按规范不做xml文件的配置,同时需要调用其他工程提供的dubbo服务 2. 接口引入方式 l Jar包引入方式 通过maven pom文件,引入其他工程的api jar包. ...

  8. 基于CSE的微服务工程实践-Native API先行

    [摘要] 本文介绍了先写Native API的实践经验,介绍了在Native API先行的情况下,如何由设计人员定义面向JAVA语言的SDK包. Open API 采用Swagger进行描述,能够灵活 ...

  9. 【springcloud合集】04:新建Moudle——微服务提供者支付模块

    一个毕业后差一点进大厂的程序员的进阶之路--既为巩固知识,也为增长粉丝. 收藏+关注方便观看后续更新. 个人微信公众号[一条IT],每天分享软件,资源,教程,福利. 上一节父工程已经建完,本文开始新建 ...

最新文章

  1. python路径拼接os.path.join()函数的用法
  2. orcle与mysql的区别_Orcle与MySQL的SQL语法区别:
  3. Java日期格式转换
  4. FLEX自动完成组件.--AutoSuggest
  5. Atitit. 资深高级软件工程师and 普通的区别 高度金字塔 深度 广度 1. 高度金字塔 深度 广度 1 1.1. 角色差异高度金字塔 使用者 维修者 制造者 1 1.2. 广度圈 1 1
  6. 2021-07-30-DJ-006 Django模型的objects方法、参数详解
  7. 前端开发基本工作内容有哪些?
  8. 计算机上打印机删除不了怎么办,win7系统的打印机删除不掉怎么办?完美解决方法看这里!...
  9. 编程-----相反数求解算法
  10. 一个简单的例子来理解监督学习和非监督学习及其区别
  11. 宝塔面板专业版企业版教程 纯手动 带原版脚本 插件免费用
  12. 2022 计网复习计算题【太原理工大学】
  13. 如何设计一个C++的类?
  14. 基于微信小程序的家教管理系统源码
  15. 区块链编程语言_区块链解决方案开发的编程语言
  16. 带滤波器的PID控制仿真-3(Simulink仿真)
  17. 使用c语言判断是闰年还是平年
  18. Matplotlib(7)——等高线图、热力图
  19. IntelliJ IDEA 14注册码
  20. co.,ltd(Co.,Ltd)是什么意思

热门文章

  1. 常用数据库语句(更新)
  2. P3390矩阵快速幂
  3. UAF学习之Adobe reader CVE-2013-3346
  4. java.lang.OutOfMemoryError处理错误
  5. windows下用GCC编译DLL
  6. ORACLE中的包和包体
  7. [转载] 中华典故故事(孙刚)——07 二百五
  8. WebGL Shader 环境搭建
  9. EChart.js 简单入门
  10. 实景三维系列4 | 为什么需要单体化