1.创建项目
1级项目
kmall2109
2级项目
kmall2109-common(公共资源)
kmall2109-registry(注册中心)
kmall2109-user-service(服务消费)
3. kmall2109添加依赖 删除src目录
pom Hoxton.SR12 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent2.3.12.RELEASE org.springframework.cloud spring-cloud-dependencies${cloud.version} pom import cn.kgc kmall2109-common${common.version}
4.kmall2109-registry添加依赖
org.springframework.cloud spring-cloud-starter-netflix-eureka-server
4.1 yml配置
server:
port: 7001
spring:
application:
name: kmall-registry
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
register-with-eureka: true
fetch-registry: false
4.2 启动类
@SpringBootApplication @EnableEurekaServer
5. kmall2109-user-service 添加依赖
cn.kgc kmall2109-commonorg.springframework.boot spring-boot-starter-weborg.springframework.cloud spring-cloud-starter-netflix-eureka-clientmysql mysql-connector-javacom.baomidou mybatis-plus-boot-starter3.5.1 org.springframework.boot spring-boot-starter-testtest com.baomidou mybatis-plus-generator3.5.2 org.freemarker freemarker
5.2 yml配置
server:
port: 10000
spring:
application:
name: kmall-user-service
datasource:
username: root
password: 1234
url: jdbc:mysql:///kmalldb
jackson:
date-format: yyyy-MM-dd
time-zone: GMT+8
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
register-with-eureka: true
fetch-registry: true #服务列表获取别的服务列表
logging:
level:
cn.kgc: debug
5.3 启动类
@SpringBootApplication
@EnableEurekaClient
@MapperScan("cn.kgc.*.mapper")
5.4 mybatis-plus代码生成类
String url = "jdbc:mysql:///kmalldb"; String username = "root"; String password = "1234"; String author = "kgc"; String outputDir = "D:\java2109springclound\kmall2109\kmall2109-user-service\src\main\java"; String parent = "cn.kgc"; String moduleName = "user"; String outputFile = "D:\java2109springclound\kmall2109\kmall2109-user-service\src\main\resources\mapper\" + moduleName; Listtables = Arrays.asList("kmall_user","kmall_role","kmall_menu","kmall_role_menu"); String prefix = "kmall_"; FastAutoGenerator.create(url, username, password) .globalConfig(builder -> { builder.author(author) // 设置作者 //.enableSwagger() // 开启 swagger 模式 //.fileOverride() // 覆盖已生成文件 .outputDir(outputDir); // 指定输出目录 }) .packageConfig(builder -> { builder.parent(parent) // 设置父包名 .moduleName(moduleName) // 设置父包模块名 .pathInfo(Collections.singletonMap(OutputFile.xml, outputFile)); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.addInclude(tables) // 设置需要生成的表名 .addTablePrefix(prefix); // 设置过滤表前缀 }) .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 .execute();
5.5 UserController层
@RestController
@Slf4j
@RequestMapping("/user")
public class UserController {
@Autowired
private IUserService userService;
@GetMapping("/list")
public Result> getUserList(){
List list = userService.list();
return Result.success(list);
}
@PostMapping("/login")
public Result
5.6 UserServiceImpl实现类
QueryWrapperwrapper = new QueryWrapper<>(); wrapper.eq("username",param.getUsername()); wrapper.eq("password",param.getPassword()); User user = this.baseMapper.selectOne(wrapper); if(user == null){ return Result.fail(20002,"用户名或密码错误"); } Map data = new HashMap<>(); data.put("token", "user:"+UUID.randomUUID()+"");//先随机产生一个字符串 return Result.success(data);



