MyCat - 环境搭建 - 基础工程搭建 | 学习笔记

简介: 快速学习 MyCat - 环境搭建 - 基础工程搭建

开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat - 环境搭建 - 基础工程搭建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/758/detail/13309


MyCat - 环境搭建 - 基础工程搭建

内容介绍:

一、搭建案例环境

二、搭建基础工程

 

一、搭建案例环境

1、先搭建父工程

工程名: v_parent

通过父工程,进行统一管理依赖的版本。

2、其次搭建案例环境

(1):首先创建一个空 project。

Project name: v_shop_project

(2):其次在工程 project 中创建一个新Module,之后选择 Maven

Groupld: cn.itcast

Artifactid: v_parent

(3):点击 next

(4):最后点击 Finsh

第一个父工程就创建好了,父工程的功能就是统一管理依赖的版本,所以同时删除左侧屏幕显示的 src 目录。

3、在 pom.xml引入依赖

<!-- spring Boot 项目需要集成自父工程-->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.1.4.RELEASE</version>

</parent>

//这个指定 v_parent 的父是 spring-boot-starter-parent

<properties>

skipTests>true</skipTests>

</properties>

//这个指定构建项目时要跳过单元测试。

<!--依赖包-->

<dependencies>

<!--测试包-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependencies>

//引入一个测试依赖:  spring-boot-starter-test

(因为所有工程当中都需要测试依赖)

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>Greenwich.SRI</version>

<type>pom</type>

<scope>import</scope>

</dependency>

//通过 <dependencyManagement> 指定依赖版本

//首先第一个依赖版本是 spring-cloud-dependencies 相关依赖,使用 Greenwich.SR1 这个版本的依赖。

<!--MySQL 数据库驱动-->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.47</version>

</dependency>

// MySQL 数据库驱动依赖

<!--mybatis 分页插件-->

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper-spring-boot-starter</artifactId>

<version>1.2.3</version>

</dependency>

// mybatis 分页插件的依赖

<!--json 格式转换-->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.51</version>

</dependency>

// json 格式转换的依赖

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.18.6</version>

</dependency>

</dependencies>

</dependencyManagement>

</project>

// lombok 依赖

以上就是导入的依赖,通过父工程进行统一的依赖管理。

 

二、搭建基础工程

1、搭建 v_model

(1)新建一个 Module

Artifactld: v_model

Module.name: v_model

该基础工程存放的是与数据库对应的实体类。

在创建成功的 v_model ,只需要在 v_model 导入一项依赖。导入 lombok 依赖,不需要指定版本。(因为 v_parent 父工程中已经指定版本号,<Version>1.18.6</Version>)

(2)导入 model 实体到目录:

在 v_model 下的 java 创建一个 Newpackage, 创建成功之后,把案例资料里的 model 实体类导入进目录。直接拷贝到 model 的这个文件下的路径(如下所示):

image.png

(3)再新建一个 newpackage

image.png

这个实体类并不是与数据库对应的,这是一个组合实体类。

下面对 model 里面的 TbAreas 文件做简单说明:

在实体类声明的时候用到了两个注解, 分别是 Data、NoArgsConstrctor,这两个注释都是通过 lombok 启动的,其中 Data 可以简化 POJO 中关于 setter、Getter、ToString、、、、的编写,如果没有 Data 注解,需要在文件里进行补充setter、Getter、ToString、、、、。然而 NoArgsConstrctor 可以进行无参数构造,但可以省略不写,原因在于这个实体类默认只有一个无参构造。在其它的实体类,也是这两个注解,这样 v_model 实体模型创建完成。

2、搭建通用组件工程 v_common

(1)新建一个 Module

Artifactld: v_common

Module.name: v_common

该基础工程中存放的是通用的组件及工具类,比如分页实体类,结果实体类,状态码等。

(2)新建一个目录

image.png

(3)新建一个 New Package

image.png

(4)最后再新建一个目录

image.png

其中目录里的 entity 文件存放通用组件, util 文件存放工具。

(5)导入 common 组件到目录:

把案例资料里的 common 组件下的 entity 里的通用组件拷贝到目录中的 entity 下,以及 util 里的通用工具类拷贝到目录中的 util 下。

简单了解 entity 里的组件,包括:

Page: 分页组件

PageResult: 分页结果返回的对象

Result: 增删改查返回的一个结果。(包括当前操作是否成功,以及返回码、返回消息。返回数据的内容)

StatusCode: 封装的返回状态码。(状态码不足可以适当补充)

以上就是 v_common 组件通用工程所存储的组件,当要进行具体使用,再进行具体说明。

3、搭建 v_feign_api

(1)新建一个 Module

Artifactld: v_feign_api

Module.name: v_feign_api

该基础工程中主要存放的是 Feign 与远程调用的客户端接口。

(2)引入对应依赖

这个工程需要引入对应的依赖。

<dependencies>

<!--web 起步依赖-->

<dependency>

<groupId>org.springframenwork.boot</groupId>

<artifactId>spring-boot-starter-openfeign</artifactId>

</dependency>

<!--Feign 起步依赖-->

<dependency>

<groupId>org.springframework.cloud.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>cn.itcast</groupId>

<artifactId>v_common</artifactId>

<version>1.0-SNAPSHOT</version>

</dependency>

<dependency>

<groupId>cn.itcast</groupId>

<artifactId>v_model</artifactId>

<version>1.0-SNAPSHOT</version>

</dependency>

//首先 spring-boot-starter-web 用于封装一些注解

//其次 spring-cloud-starter-openfeign 是使用 openfeign 中的注解

//再其次 当工程可能需要一些通用组件,依赖 v_common

//最后包括实体模型依赖 v_model

以上就是搭建基础工程的全部内容,主要搭建 v_common (存放通用组件) 、v_model (存放与数据库对应的实体模型)、v_feign_api ( c 存放远程调用的客户端)。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
人工智能 API 异构计算
AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署
AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署
1836 2
|
机器学习/深度学习 算法 Python
CatBoost中级教程:超参数调优与模型选择
CatBoost中级教程:超参数调优与模型选择【2月更文挑战第12天】
1593 2
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1023 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1720 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
662 152