修改pom

<dependencies><dependency><groupId>com.test.example</groupId><artifactId>cloud-common</artifactId><version>${project.version}</version></dependency><!--nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--seata--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><exclusion><artifactId>seata-all</artifactId><groupId>io.seata</groupId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-all</artifactId><version>0.9.0</version></dependency><!--feign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--web-actuator--><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><!--mysql-druid--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.37</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies>

添加application.yml

server:port: 2006spring:application:name: test-order-servicecloud:alibaba:seata:tx-service-group: fsp_tx_groupnacos:discovery:server-addr: localhost:8848datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/seata_personusername: rootpassword: 123456logging:level:io:seata: infomybatis:mapperLocations: classpath:mapper/*.xml

把seata-person-service2005 resouces下的file.conf和register.conf复制到当前resouces下

启动类

package com.test.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
public class SeataOrderMainApp2006 {public static void main(String[] args) {SpringApplication.run(SeataOrderMainApp2006.class,args);}
}

conf

package com.test.example.config;import com.alibaba.druid.pool.DruidDataSource;
import io.seata.rm.datasource.DataSourceProxy;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import javax.sql.DataSource;@Configuration
public class DataSourceProxyConfig {@Value("${mybatis.mapperLocations}")private String mapperLocations;@Bean@ConfigurationProperties(prefix = "spring.datasource")public DataSource druidDataSource(){return new DruidDataSource();}@Beanpublic DataSourceProxy dataSourceProxy(DataSource dataSource) {return new DataSourceProxy(dataSource);}@Beanpublic SqlSessionFactory sqlSessionFactoryBean(DataSourceProxy dataSourceProxy) throws Exception {SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSourceProxy);sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));sqlSessionFactoryBean.setTransactionFactory(new SpringManagedTransactionFactory());return sqlSessionFactoryBean.getObject();}}
package com.test.example.config;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;@Configuration
@MapperScan({"com.test.example.dao"})
public class MyBatisConfig {
}

entity

package com.test.example.entity;import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.util.Date;@Data
@NoArgsConstructor
@AllArgsConstructor
public class Order {private Long id;private String name;@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date createdTime;
}

dao

package com.test.example.dao;import com.test.example.entity.Order;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface OrderDao {void insertOrder(Order order);
}

service

package com.test.example.service;import com.test.example.entity.Order;public interface OrderService {void insertOrder(Order order);
}

serviceImpl

package com.test.example.service.impl;import com.test.example.dao.OrderDao;
import com.test.example.entity.Order;
import com.test.example.service.OrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
@Slf4j
public class OrderServiceImpl implements OrderService {@Autowiredprivate OrderDao orderDao;@Overridepublic void insertOrder(Order order) {orderDao.insertOrder(order);}
}

controller

package com.test.example.controller;import com.test.example.dto.CommonResult;
import com.test.example.entity.Order;
import com.test.example.service.OrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;@RestController
@Slf4j
@RequestMapping("/order")
public class OrderController {@Autowiredprivate OrderService orderService;@PostMapping("/insert")public CommonResult insertOrder(@RequestBody  Order order){orderService.insertOrder(order);return new CommonResult(200,"订单创建成功",order);}
}

mapper

<?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.test.example.dao.OrderDao"><!-- <resultMap id="BaseResultMap" type="com.test.example.entity.Order"><id column="id" property="id" jdbcType="BIGINT"/><result column="insure_name" property="insureName" jdbcType="VARCHAR"/></resultMap>--><insert id="insertOrder" useGeneratedKeys="true" keyProperty="id">insert  into t_order (name,created_time)values (#{name},#{createdTime})</insert></mapper

seata-order-service2006模块相关推荐

  1. Seata RPC 模块的重构之路

    作者 | 张乘辉 来源|阿里巴巴云原生公众号 RPC 模块是我最初研究 Seata 源码开始的地方,因此我对 Seata 的 RPC 模块有过一些深刻研究,在我研究了一番后,发现 RPC 模块中的代码 ...

  2. SpringCloud系列之Nacos+Dubbo+Seata应用篇

    SpringCloud系列之Nacos+Dubbo+Seata应用篇 原文链接:https://www.cnblogs.com/chinaWu/p/13671620.html ---------- 源 ...

  3. 【微服务入门】分布式事务详解及seata的使用

    一文读懂分布式事务 微服务中的分布式事务问题 1 分布式事务介绍 1.1 什么是事务 1.2 本地事务 1.3 什么是分布式事务 1.3.0 假如没有分布式事务 1.4 分布式事务系统架构 1.4.1 ...

  4. 分布式事务(Seata) 四大模式详解

    前言 在上一节中我们讲解了,关于分布式事务和seata的基本介绍和使用,感兴趣的小伙伴可以回顾一下<别再说你不知道分布式事务了!> 最后小农也说了,下期会带给大家关于Seata中关于sea ...

  5. seata TCC模式

    .Seata 产品模块 .Seata 中有三⼤模块,分别是 TM.RM 和 TC.其中 TM 和 RM 是作为 Seata 的客户端与业务系统集 成在⼀起,TC 作为 Seata 的服务端独⽴部署. ...

  6. 【精品】seata综合示例:订单-库存-扣款

    有关seata的安装,请参看博客:https://blog.csdn.net/lianghecai52171314/article/details/127330916 业务需求:下单-减库存-扣钱-改 ...

  7. MySQL中 Order By 和 Limit 的排序问题

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 | 春卷要炸着吃 来源 | www.cnblogs. ...

  8. 多个mapper的事务回滚_揭秘蚂蚁金服分布式事务 Seata 的AT、Saga和TCC模式

    作者| 屹远(陈龙),蚂蚁金服分布式事务核心研发 . 导语 本文根据 8月11日 SOFA Meetup#3 广州站 <分布式事务 Seata 及其三种模式详解>主题分享整理,着重分享分布 ...

  9. mysql limit括号_采坑笔记——mysql的order by和limit排序问题

    背景说明 今天写出一个十分弱智的bug,记录一下,提醒自己以后别这种犯错,不怕丢人哈~ 在写一个分页查询记录的sql时,要根据添加的时间逆序分页输出,之前的写法是酱紫 select record.a, ...

  10. 由于开发者通过接口修改了菜单配置_开发者说:Seata 0.7.0 版本,你 get 'Metrics' 技能了吗?...

    从用户的视角来感受一个开源项目的成长,是我们推出「开发者说」专栏的初衷,即在开发者进行开源项目选型时,提供更为立体的项目信息.专栏所有内容均来自作者原创/投稿,本文是「开发者说」的第9篇,作者郑扬勇, ...

最新文章

  1. Android studio 真机联调闪退
  2. 用Everything搜索指定的路径
  3. HashMap源码分析(搞懂HashMap看这个就够了)
  4. 计算机组成原理第二版第4章的答案,计算机组成原理第4章习题参考答案
  5. Android 8.0系统学习(19)--- SystemUI启动流程
  6. 长虹美菱:公司主要通过抖音短视频等平台进行直播带货
  7. python为什么那么多人点赞_python为何会火遍全球?它究竟是什么呢?阿里大佬告诉你答案...
  8. 系统如何实现权限控制
  9. 【语音处理】基于matlab GUI语音信号处理与滤波【含Matlab源码 1663期】
  10. 【测试工具】Selenium 自动化浏览器(Python 篇)
  11. CAPL学习之路-CAN有关的CAPL函数
  12. 向mysql中导入数据库文件
  13. magisk卸载内置软件_【教程篇】安卓手机卡刷Magisk(面具)获取Root教程
  14. 科大讯飞语音转写以及语音合成配置+遇到问题处理
  15. 【C语言】1-100求和;1-N求和
  16. 实用插件(七)视频播放插件——ckplayer
  17. [渝粤教育] 中国地质大学(武汉) 走近国粹 中国陶瓷 参考 资料
  18. 這是一位女生寫的 - 男生如何追求女生
  19. 股骨截骨php钢板,最新综述:股骨远端截骨治疗膝关节畸形进展(下)
  20. 一个字符等于多少磅?

热门文章

  1. 【其他】缩小图片的文件大小
  2. 商标45类分类表明细表_商标45类分类表
  3. linux gcc/g++编译参数 -l(大写i)-L(大写l) -l(小写l)
  4. PNP与NPN三极管开关特性
  5. x86 BIOS 中断 INT 10h
  6. 国家电网与百度达成战略合作,在智慧能源领域掀起新基建热潮
  7. 数据智能,慧眼识“真”——个推大数据风控产品亮相
  8. 谷歌浏览器崩溃解决方法
  9. 如何用excel做正交分析_利用Excel进行正交设计及分析
  10. 做网络安全居然不了解ATT&CK?这篇文章的介绍详细到令人尖叫