服务器前后端部署及mybatisplus long类型给前端转成string

本文介绍了后端MybatisPlus的Long转换String问题,提供了解决方案。同时详细阐述了后端从本地到服务器的部署步骤,包括打包、执行shell脚本及服务的启动、停止和重启操作。另外,也梳理了前端部署流程,涉及文件拷贝、解压和日志查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、解决所有long给前端转成string类型

比如mybatisplus的current、size、total等,

解决方法:原因是有这个方法在(别人写的),把这个方法注释掉就行了。

2、后端部署流程(本地到服务器部署):

①打包:mvn clean package -D skipTests,mvn clean package(先clean,再package)进行编译、打包, -D skipTests是跳过测试。

② 线上服务器部署进入/usr/local/songlan/songlan_server目录

③ 执行shell脚本:sh ./../launch.sh songlan_server start|stop|restart,使用配置就在java启动命令中,项目中使用nacos配置,执行shell命令为三个参数,start、stop、restart。
 

#launch.sh
#!/bin/sh

export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH

cd /usr/local/songlan

service=$1
debug='-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=8555'
# 检查数据完整性
function check_data_integrity(){
    data_center_base_path=/usr/local/songlan
    echo "${data_center_base_path}"
    if [ ! -d "${data_center_base_path}/${service}/" ]; then
        echo "服务不存在,请确认"
        exit
    fi
    cd ${data_center_base_path}/${service}
}

function start_service(){
    #判断部署包数量是否为1
#    jar_num=`ls suponit-${service}-*.jar | wc -l`
#    if [ ${jar_num} -gt 1 ];then
#        echo "部署目录下${service}*.jar个数大于1,请移除多余jar文件后重试!"
#        exit
#    elif [ [${jar_num} == 0] ]; then
#        echo "部署目录下${service}*.jar不存在,请确认后重试!"
#        exit
#    fi
    nohup java -Xms256m -Xmx256m -jar -Dlog4j2.formatMsgNoLookups=true -DNACOS_SERVER_ADDRESS=ip:port -DNACOS_NAME_SPACE=NAMESPACE ./${service}*.jar > ./${service}.log 2>& 1 &

    echo "$!" > pid
    echo "${service} started success."
}

function stop_service(){
    service_pid=$(cat pid)
    echo "stopping ${service} ..."
    kill -9 ${service_pid}
    echo "stopped ${service}"
}
#开始方法
start() {
    start_service
}

#结束方法
stop() {
    stop_service
}

case "$2" in
    start)
        check_data_integrity
        start
        ;;
    stop)
        check_data_integrity
        stop
        ;;
    restart)
        check_data_integrity
        stop
        start
        ;;
    *)
            echo "Userage: $0 {start|stop|restart}"
            exit 1
esac

④看日志文件:tail -500f log

3、前端部署流程:

①把包dist.zip拷贝到D:\songlan\static\complaint下,

②把原来dist备份:mv dist dist.bak

③删除原来的dist.zip压缩包:rm -rf dist.zip-xxxxxx

④上传dist.zip到/usr/local/nginx/html/songlan/complaint/

⑤解压就能自动跑了,因为nginx自动识别dist下index.html:unzip -0 gbk dist.zip。

### 若依多租户实现方案 若依(RuoYi)是一个基于 Spring Boot 和 Vue 的开源前后端分离权限管理系统。其多租户版本 `RuoYi-Vue-Multi-Tenant` 是在原版基础上进行了功能扩展,支持多租户架构设计[^1]。 #### 1. 技术栈 该项目的技术栈主要包括以下部分: - **后端**: 使用 Spring Boot 提供核心服务框架,集成 Spring Security 进行安全控制,并通过 JWT 实现身份认证。 - **前端**: 基于 Vue.js 构建用户界面,配合 Element UI 组件库完成交互体验优化。 - **数据库管理**: 支持动态数据源切换机制,能够根据不同租户加载对应的数据库连接配置[^3]。 #### 2. 动态数据源切换原理 为了满足不同租户间的数据隔离需求,该系统实现了动态数据源切换的功能。以下是其实现的关键点: ##### 数据源实体类定义 ```java import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @TableName("tenant_datasource") public class TenantDatasource { private Long id; @TableField("datasource_name") private String datasourceName; @TableField("url") private String url; @TableField("username") private String username; @TableField("password") private String password; } ``` 此代码片段展示了如何定义一个用于存储各租户对应数据库信息的实体对象。 ##### 配置拦截器 为了让每次请求都能识别所属租户并应用相应的数据源设置,在 Web 层引入了一个自定义拦截器。具体做法是在全局资源配置文件中添加如下逻辑[^4]: ```java @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(tenantInterceptor) .addPathPatterns("/**") // 对几乎所有路径生效 .excludePathPatterns("/captchaImage", "/register"); // 排除无需验证的操作 } ``` 当某个 HTTP 请求到达服务器时,会先经过上述拦截器处理流程。如果成功解析出了当前访问者的租户标识,则进一步调用后台业务层的方法去获取实际使用的 JDBC URL 参数列表;反之则返回错误提示给客户端告知缺少必要的参数。 #### 3. 工作流引擎适配 (可选模块) 对于涉及复杂业务流程的应用场景来说,还可以考虑结合 Activiti 流程引擎一起部署运行。此时可以采取单实例多数据库的方式构建 SaaS 类型的服务平台[^2]: 这种方式的主要优势在于只需维护一套统一的工作流引擎程序即可服务于多个独立运营的企业客户群体之间互不影响的同时又能共享相同的底层技术组件从而降低总体拥有成本(TCO),不过与此同时也会增加一定的运维难度因为每新增加一个新的企业就需要额外创建一份专属它的持久化存储空间出来。 --- ### 总结 综上所述,RuoYi-Vue-Multi-Tenant 不仅提供了完整的权限管理体系还特别增强了针对云计算环境下的弹性伸缩能力即所谓的“多租户”特性使得开发者可以根据实际情况灵活调整应用程序的行为模式以适应不同类型规模大小各异的目标市场细分领域内的特定需求特点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值