五,Eureka 第五章
5.3.2 修改pom添加依赖
<dependencies><!--公共部门--><dependency><groupId>cn.bdqn</groupId><artifactId>springcloud-api-commons</artifactId><version>${project.version}</version></dependency><!--eureka client--> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.0</version></dependency><!--连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId></dependency><!--mysql连接--><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>
5.3.3编写yml
server:port: 8003spring:application:name: springcloud-payment-provider-servicedatasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/springcloud_db?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMTusername: rootpassword: xiaoduo456newmybatis:type-aliases-package: cn.bdqn.domainmapper-locations: classpath:mapper/*.xmleureka:client:#表示是否将自己注册进EurekaServer默认为trueregister-width-eureka: true#是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon 使用负载均衡fetch-registry: trueservice-url:defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002:com:7002/eureka,http://eureka7003:com:7003/eureka,instances:prefer-ip-address: true #使用ip地址注册
5.3.4编写启动类
@SpringBootApplication
@EnableEurekaClient
public class Payment8003Application {public static void main(String[] args) {SpringApplication.run(Payment8003Application.class, args);}
}
5.3.5编写paymentMapper接口
public interface PaymentServer {//保存一个支付流水public void save(Payment payment);//根据id获取具体的支付信息public Payment selectById(Integer id);
}
5.3.6编写映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "--//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.bdqn.Mapper.PaymentMapper"><resultMap id="PaymentResultMap" type="cn.bdqn.domain.Payment"><id column="id" property="id"></id><id column="flow_number" property="flowNumber"></id></resultMap><insert id="insert" parameterType="cn.bdqn.Mapper.PaymentMapper">insert into t_payment(flow_number)values(#{flowNumber})</insert><select id="selectById" resultMap="PaymentResultMap">SELECT id,flow_number from t_payment where id="#{id}"</select>
</mapper>
5.3.6编写Payment业务接口以及实现类型
public interface PaymentServer {//保存一个支付流水public void save(Payment payment);//根据id获取具体的支付信息public Payment selectById(Integer id);
}
@Service
public class PaymentServerImpl implements PaymentServer {@Autowiredprivate PaymentMapper paymentMapper;@Overridepublic void save(Payment payment) {paymentMapper.insert(payment);}@Overridepublic Payment selectById(Integer id) {return paymentMapper.QueryById(id);}
}
5.3.8编写paymentController控制器
@RestController
@EnableEurekaClient
public class PaymentController {@Autowiredprivate PaymentServer paymentServer;@GetMapping("/payment/save")public ResponseResult save(Payment payment){try {paymentServer.save(payment);return new ResponseResult(200,"插入成功",null);}catch (Exception e){e.printStackTrace();return new ResponseResult(404,"插入失败",null);}}@PostMapping("/payment/id/{id}")public ResponseResult selectById(@RequestBody Integer id) {Payment payment = paymentServer.selectById(id);if (payment != null) {return new ResponseResult(200, "成功", payment);} else {return new ResponseResult(200, "失败", null);}}
}