微服务SpringCloud整合二

搭建微服务模块pcloud-provider-user8001

New Module
在这里插入图片描述
在这里插入图片描述

修改pom文件


    <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>

在父项目pom文件中可以看到
在这里插入图片描述

如果 没有resources目录,则需要手动创建
在这里插入图片描述
选中Resources点击右键,选择Mark Directory as,在选择Resources Root
在这里插入图片描述
编写application.yml配置文件

server:
  port: 8001

spring:
  application:
    name: pcloud-user-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource           
    driver-class-name: org.gjt.mm.mysql.Driver    # mysql驱动包 
    url: jdbc:mysql://localhost:3306/pcloud?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456


mybatis:
  mapperLocations: classpath:mapper/*.xml
  type-aliases-package: com.younger.springcloud.model    # 所有Entity别名类所在包

编写主启动类:UserMain8001

package org.younger.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class UserMain8001 {

    public static void main(String[] args) {
        SpringApplication.run(UserMain8001.class,args);
    }
}

建表SQL

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `name` varchar(200) DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

新建model 实体类
user

package com.younger.springcloud.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {

    private Long id;

    private String name;
}

新建放回结果的result 类

package com.younger.springcloud.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 封装返回结果
 * @param <T>
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {

    private Integer code;

    private String message;

    private T data;

    public Result(Integer code,String message) {
        this(code,message,null);
    }

}

新建dao
新增UserDao类

package com.younger.springcloud.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.younger.springcloud.model.User;

/**
 * user mapper实体
 */
@Mapper
public interface UserDao {

    /**
     * 保存用户信息
     * @param user
     * @return
     */
     int save(User user);

    /**
     * 根据ID获取用户
     * @param id
     * @return
     */
     User getUserById(@Param("id") Long id);
}

在 src\main\resources\mapper\目录下新建 UserMapper.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.younger.springcloud.dao.UserDao">

    <resultMap id="BaseResultMap" type="com.younger.springcloud.model.User">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
    </resultMap>

    <insert id="save" parameterType="User" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO User(name) VALUES(#{name});
    </insert>

    <select id="getUserById" parameterType="Long" resultMap="BaseResultMap" >
        SELECT * FROM User WHERE id=#{id};
    </select>

</mapper>

新建Service
新建接口 UserService

package com.younger.springcloud.service;


import com.younger.springcloud.model.User;

public interface UserService {

    int save(User user);

    User getUserById(Long id);
}

新建接口实现类 UserServiceImpl

package com.younger.springcloud.service.impl;

import com.younger.springcloud.dao.UserDao;
import com.younger.springcloud.model.User;
import com.younger.springcloud.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class UserServiceImpl implements UserService {

    @Resource
    private UserDao userDao;

    @Override
    public int save(User user) {
        return userDao.save(user);
    }

    @Override
    public User getUserById(Long id) {
        return userDao.getUserById(id);
    }
}

新建controller
新建UserController 类

package com.younger.springcloud.controller;

import com.younger.springcloud.model.Result;
import com.younger.springcloud.model.User;
import com.younger.springcloud.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping("/user/save")
    public Result save(@RequestBody User user) {

        int result = userService.save(user);
        if (result > 0 ) {
            return new Result(200,"插入成功",result);
        }else {
            return new Result(400,"传入失败", result);
        }
    }

    @GetMapping("/user/{id}")
    public Result getUserById(@PathVariable("id") Long id) {
        User user = userService.getUserById(id);
        if (user != null) {
            return new Result(200,"查询成功",user);
        }else {
            return new Result(404,"为找到数据",null);
        }
    }
}

测试项目是否搭建成功:
插入数据
在这里插入图片描述
查询数据:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youngerone123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值