相关文章推荐

若依微服务版手把手教你本地搭建环境并运行前后端项目:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303

在前面已经将若依微服务版的项目在本地搭建起来之后,怎样开发具体的业务。

搭建好之后的项目结构里,ruoyi-modules是存放业务模块的位置。

ruoyi-fzys就是新增的业务。

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

新增业务模块并配置

按照项目的结构设计,业务模块的位置是在ruoyi-modules下,所以在此模块上右键-new-Module

点击确定后

然后点击next

为了和之前的模块统一风格的命名方式,所以这里新建的module的坐标是ruoyi-fzyscontrol,然后点击next

包括module的名字的命名风格,统一以ruoyi-modules-业务模块名的格式。

新增完模块之后,此业务模块就是上面ruoyi-modules的子模块,可以打开ruoyi-modules的pom.xml

可以看到已经自动将新增的业务模块添加到此业务模块下了

然后打开ruoyi-modules-system的系统模块的pom.xml,将其dependencies下和build下的代码复制到上面新建业务模块的pom.xml文件中

当前是如下代码,具体根据自己版本的pom文件去复制

    <dependencies>
     <!-- SpringCloud Ailibaba Nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!-- SpringCloud Ailibaba Nacos Config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
     <!-- SpringCloud Ailibaba Sentinel -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
     <!-- SpringBoot Actuator -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- Swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.fox.version}</version>
        </dependency>
        <!-- Mysql Connector -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- Ruoyi Common Security -->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-security</artifactId>
        </dependency>
        <!-- Ruoyi Common Datascope -->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-datascope</artifactId>
        </dependency>
        <!-- Ruoyi Common Log -->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-log</artifactId>
        </dependency>
        <!-- Ruoyi Common Swagger -->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>
        <!-- RuoYi Common Redis-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-redis</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

然后在新建模块下新建包com.ruoyi.fzyscontrol

然后将前面system模块的启动类复制到新建业务的包下并更改名字

更改启动类里面的类名和要启动的类名以及启动成功的输出内容。

然后将system的yml配置文件复制到新建模块一份,并修改该模块的端口号,这里是9205,以及应用名称

示例代码如下

# Tomcat
server:
  port: 9205
# Spring
spring:
  application:
    # 应用名称
    name: ruoyi-fzyscontrol
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 10.61.37.60:8848
      config:
        # 配置中心地址
        server-addr: 10.61.37.60:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

然后登录Nacos配置中心,找到配置列表,选择ruoyi-system-dev.yml,点击克隆,并更改Data Id 为ruoyi-fzyscontrol-dev.yml

点击开始克隆

然后再选中新克隆的配置文件,点击编辑,将搜索的指定包名的路径改为com.ruoyi.fzyscontrol,这里的包名要与后面生成代码时相对应

注意下面的配置mapper的扫描,找到所有mapper.xml映射文件的地方

这里的路径是在配置的在resources下的mapper目录下的任意子目录下的任意.xml文件

示例代码如下

# Spring
spring:
  redis:
    host: *****
    port: *****
    password: ******
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
   url:jdbc:mysql://*******:3306/fzys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 1234
# Mybatis配置
mybatis:
    # 搜索指定包别名
    typeAliasesPackage: com.ruoyi.fzyscontrol
    # 配置mapper的扫描,找到所有的mapper.xml映射文件
    mapperLocations: classpath:mapper/**/*.xml
# swagger 配置
swagger:
  title: 系统模块接口文档
  license: Powered By ruoyi
  licenseUrl: https://ruoyi.vip
  authorization:
    name: RuoYi OAuth
    auth-regex: ^.*$
    authorization-scope-list:
      - scope: server
        description: 客户端授权范围
    token-url-list:
      - http://localhost:8080/auth/oauth/token

注意将redis和mysql的连接改为自己的。

然后再找到ruoyi-gateway-dev.yml网管的配置文件,点击编辑

仿照上面system的配置复制出来一份,并修改为新模块所对应的。

system的配置

        # 系统模块
        - id: ruoyi-system
          uri: lb://ruoyi-system
          predicates:
            - Path=/system/**
          filters:
            - StripPrefix=1

新建业务的配置

          # fzys控制模块
        - id: ruoyi-fzyscontrol
          uri: lb://ruoyi-fzyscontrol
          predicates:
            - Path=/fzyscontrol/**
          filters:
            - StripPrefix=1

更改完之后点击发布。

启动项目并生成代码

依次找到ruoyi-gateway、ruoyi-auth、ruoyi-system、ruoyi-gen下的启动类去启动,注意启动顺序。

网管模块和认证模块要在系统模块和代码生成模块之前。

然后再启动刚才新建的业务模块,此时一个启动五个模块。

此时可以去Nacos服务注册中心的服务列表查看,回看到此时会有五个服务。

此时就可以打开此项目连接的数据库进行设计业务表,这里设计一个表

然后打开前端项目ruoyi-ui

在终端中输入

npm install

安装前端项目依赖

安装项目依赖成功之后找到项目的vue.config.js

修改前端项目的端口,默认是80,这里修改为90,

然后修改代理的后端的请求地址,这里要与上面后台网关模块中yml配置文件中配置的网关模块相对应

默认网关是8080,这里为了避免端口冲突改为8888

所以这里前端的代理地址的端口也是8888

启动前端项目

npm run dev

启动后打开浏览器访问

http://localhost:90/

登录成功后找到系统工具-代码生成-导入,选择前面新建的数据库中的表,导入之后,选择并编辑

这里修改生成代码时的生成信息,注意这里的包名要与上面配置mapper扫描包的路径一致,并且这里还加了具体业务的包。

这个功能是信号灯控制功能,最终是属于运行调度管理菜单下的功能,所以这里配置的包路径追加了一层运行调度管理,

生成的模块名也叫运行调度管理,但是生成的业务名是其下具体的信号灯控制。

然后点击提交后点击生成,会将生成代码的压缩包下载到本地,解压之后的目录

来到项目中新建模块的包下将后端代码复制到相应的位置

注意这里的复制后的代码的路径要和你在Nacos中配置文件的配置一致。

然后打开ruoyi-ui前端代码,将生成的vue目录下的前端代码复制到相应的api和views下

注意这里的路径,要与vue中调用js方法的路径以及菜单按钮路径中调用vue页面的路径一致。

然后连接到数据库,运行代码生成时的sql文件,将菜单项插入到菜单表中

此时会在菜单表中生成具体的菜单

前后端联调

因为生成的代码可能会有路径或者url等不对应的问题,所以要实现前后端的联调还需要进行调整。

打开前端代码的js文件的请求后台的url路径为

/runcontrolmange/signallightcontrol/list

然后打开后端controller中具体方法

如果这里的controller的路径不对应的话进行修改。

此时路径还是不能匹配。因为之前在Nacos的配置中心配置网关时设置了请求时的前缀

所以在请求具体的服务时,前端必须在对应后台Controller的基础上,添加一个网关管理的服务的前缀。

所以在前端项目中进行请求的js的url中要根据具体请求的服务添加请求前缀

此时访问具体的菜单即可获取到服务

场景若依微服务版手把手教你本地搭建环境并运行前后端项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303在前面已经将若依微服务版的项目在本地搭建起来之后,怎样开发具体的业务。搭建好之后的项目结构里,ruoyi-modules是存放业务模块的位置。ruoyi-fzys就是新增的业务。注:博客:https://blog.csdn.net/badao_liumang_qizhi关注公众号.. 一套API支持对所有表的 增删改查 CRUD操作; 支持MySQL、Oracle数据库,简单配置完成切换; 基于Spring Boot + Mybatis 实现 的通用 增删改查 服务API; 该 模块 提供了通用的数据库DDL操作接口和通用的 业务 数据表CRUD操作。 CREATE TABLE `t_contract` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `contract_num` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '合同编号', `contract_name` va 若依 微服务 手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在前面已经将 若依 微服务 的项目在本地搭建起来之后,怎样开发具体的 业务 。 搭建好之后的项目结构里,ruoyi-modules是存放 业务 模块 的位置。 ruoyi-fzys就是 新增 业务 。 https://blog.csdn.net/badao_liumang_qizhi 关注公众号 public class SQLServerExample { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载驱动程序 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 连接数据库 String url = "jdbc:sqlserver://localhost:1433;databaseName=database_name"; String user = "username"; String password = "password"; conn = DriverManager.getConnection(url, user, password); // 创建 Statement 对象 stmt = conn.createStatement(); // 执行查询语句 rs = stmt.executeQuery("SELECT * FROM table_name"); // 处理查询结果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); // TODO: 处理查询结果 // 执行插入语句 String insertSql = "INSERT INTO table_name (id, name) VALUES (1, 'test')"; int rows = stmt.executeUpdate(insertSql); // TODO: 处理插入结果 // 执行更新语句 String updateSql = "UPDATE table_name SET name = 'new_name' WHERE id = 1"; rows = stmt.executeUpdate(updateSql); // TODO: 处理更新结果 // 执行删除语句 String deleteSql = "DELETE FROM table_name WHERE id = 1"; rows = stmt.executeUpdate(deleteSql); // TODO: 处理删除结果 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 try { if (rs != null) { rs.close(); if (stmt != null) { stmt.close(); if (conn != null) { conn.close(); } catch (SQLException e) { e.printStackTrace(); 请将 `database_name`、`username` 和 `password` 替换为你实际 使用 的数据库名称、用户名和密码,将 `table_name` 替换为你要操作的表名。
 
推荐文章