1. 程式人生 > 其它 >多端全棧專案實戰:大型商業級代駕業務全流程落地【Wan整】

多端全棧專案實戰:大型商業級代駕業務全流程落地【Wan整】

連結: https://pan.baidu.com/s/1d6YONkCi4u7T1ZBm1yZLYg 提取碼: iamh
作者-\/ 307570512

大型商業級代駕業務微服務務架構

微服務架構(通常簡稱為微服務)是指開發應用所用的一種架構形式。 通過微服務,可將大型應用分解成多個獨立的元件,其中每個元件都有各自的責任領域。 在處理一個使用者請求時,基於微服務的應用可能會呼叫許多內部微服務來共同生成其響應。 容器是微服務架構的絕佳示例,因為它們可讓您專注於開發服務,而無需擔心依賴項。

這種單體應用比較適合於小專案,優點是:
開發簡單直接,集中式管理
基本不會重複開發
功能都在本地,沒有分散式的管理開銷和呼叫開銷

spingboot多端全棧專案實戰

第一步:匯入jar包
pom中匯入mybatis plus的jar包,因為後面會涉及到程式碼生成,所以我們還需要匯入頁面模板引擎,這裡我們用的是freemarker。

<!--mp-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!--mp程式碼生成器-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.2.0</version>
</dependency>

第二步:然後去寫配置檔案

# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/vueblog?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: admin
mybatis-plus:
  mapper-locations: classpath*:/mapper/**Mapper.xml

上面除了配置資料庫的資訊,還配置了myabtis plus的mapper的xml檔案的掃描路徑,這一步不要忘記了。
第三步:開啟mapper介面掃描,新增分頁外掛
新建一個包:通過@mapperScan註解指定要變成實現類的介面所在的包,然後包下面的所有介面在編譯之後都會生成相應的實現類。PaginationInterceptor是一個分頁外掛。

com.markerhub.config.MybatisPlusConfig

@Configuration
@EnableTransactionManagement
@MapperScan("com.markerhub.mapper")
public class MybatisPlusConfig {
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        return paginationInterceptor;
    }
}

第四步:程式碼生成
如果你沒再用其他外掛,那麼現在就已經可以使用mybatis plus了,官方給我們提供了一個程式碼生成器,然後我寫上自己的引數之後,就可以直接根據資料庫表資訊生成entity、service、mapper等介面和實現類。

com.markerhub.CodeGenerator

因為程式碼比較長,就不貼出來了,在程式碼倉庫上看哈!
首先我在資料庫中新建了一個user表:

CREATE TABLE `m_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(64) DEFAULT NULL,
  `avatar` varchar(255) DEFAULT NULL,
  `email` varchar(64) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `status` int(5) NOT NULL,
  `created` datetime DEFAULT NULL,
  `last_login` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `UK_USERNAME` (`username`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `m_blog` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_id` bigint(20) NOT NULL,
  `title` varchar(255) NOT NULL,
  `description` varchar(255) NOT NULL,
  `content` longtext,
  `created` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
  `status` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;
INSERT INTO `vueblog`.`m_user` (`id`, `username`, `avatar`, `email`, `password`, `status`, `created`, `last_login`) VALUES ('1', 'markerhub', 'https://image-1300566513.cos.ap-guangzhou.myqcloud.com/upload/images/5a9f48118166308daba8b6da7e466aab.jpg', NULL, '96e79218965eb72c92a549dd5a330112', '0', '2020-04-20 10:44:01', NULL);