java计算百分比

/**
     * 使用java.text.DecimalFormat实现
     *
     * @param x
     * @param y
     * @return
     */
    public static String getPercent(int x, int y) {
        if (x == 0) return "0.00%";
        double d1 = x * 1.0;
        double d2 = y * 1.0;
        // 设置保留几位小数, “.”后面几个零就保留几位小数,这里设置保留两位小数
        DecimalFormat decimalFormat = new DecimalFormat("##.00%");
        return decimalFormat.format(d1 / d2);
    }
 /**
     * 方式一:使用java.text.NumberFormat实现
     * @param x
     * @param y
     * @return
     */
    public static String getPercent(int x, int y) {
        double d1 = x * 1.0;
        double d2 = y * 1.0;
        NumberFormat percentInstance = NumberFormat.getPercentInstance();
        // 设置保留几位小数,这里设置的是保留两位小数
        percentInstance.setMinimumFractionDigits(2);
        return percentInstance.format(d1 / d2);
    }

Tomcat启动不成功提示:Windows不能在本地计算机启动Apache Tomcat【解决办法】

就是打开Tomcat安装目录下的bin目录下
找到Tomcat9w.exe文件,打开


1、首先检查一下自己的jre路径是否正确

2、如果jre路径正确的话,选择startup选项
在mode里面选择java(默认是jvm)


删除Tomcat服务:首先,在运行菜单中输入cmd,打开命令提示符窗口,执行以下命令: sc delete tomcat7 若是Tomcat6则写sc delete tomcat6。 2、删除Tomcat文件: 打开文件管理器,找到Tomcat所在的文件夹,右键选择删除即可

达梦数据库查询用map接收 text字段会被转成clod字段

达梦数据库中,text类型字段会自动转换为cloud类型字段。因此,当您使用map接收text类型字段时,达梦数据库会将该字段的数据类型转换为cloud类型,导致数据类型错误。如果您需要在map中接收text类型字段,请将该字段的数据类型在查询语句中指定为text类型。例如,假设您的查询语句为SELECT name, CAST(content AS TEXT) FROM table_name,其中content是text类型字段,您可以使用CAST函数将其转换为text类型,然后在map中接收。

达梦数据库中的text类型是一种LOB(Large Object),用于存储大量的文本数据。而clob也是一种LOB类型,用于存储字符型数据。在达梦数据库中,text类型字段会被自动转换为clob类型,因为它们都属于LOB类型,并且具有相似的特性。这种转换可能会发生在查询、插入、更新等操作中,如果您需要明确使用text类型,建议在SQL语句中显式地指定该字段为text类型,以避免数据类型错误。

   Map<String, Object> entity = this.genericMapper.getRecordMapById(formTable, recordId);
 while(var3.hasNext()) {
                                            String key = (String)var3.next();
                                            if (itemx.get(key) instanceof ClobProxyImpl) {
                                                ClobProxyImpl clobProxy = (ClobProxyImpl)itemx.get(key);
                                                itemx.put(key, OracleUtils.clobToString(clobProxy));
                                            } else if (itemx.get(key) instanceof Blob) {
                                                Blob blob = (Blob)itemx.get(key);
                                                itemx.put(key, OracleUtils.blobToString(blob));
                                            }
                                        }
package com.jinw.utils;

import com.alibaba.druid.proxy.jdbc.ClobProxyImpl;

import java.sql.Blob;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * @ClassName OracleUtils
 * @Description 一句话描述类的作用
 * @Author liux
 * @Date 2021/12/22 16:22
 **/
public class OracleUtils {
    public static String clobToString(ClobProxyImpl clobProxy) throws SQLException {
        String subString = clobProxy.getSubString(1, (int) clobProxy.length());
        return subString;
    }

    public static String blobToString(Blob blob) throws Exception {
        String newStr = "";
        int blobLength = (int) blob.length();
        byte[] bytes = blob.getBytes(1, blobLength);
        if(bytes == null || blobLength == 0){
            return "";
        }else {
            int i = 1;
            while(i < blobLength){
                bytes = blob.getBytes(i,1024);
                i = i + 1024;
                newStr = newStr + new String(bytes,"UTF-8");
            }
        }
        return newStr;
    }
}
package com.jinw.utils;

import com.alibaba.druid.proxy.jdbc.ClobProxyImpl;

import java.sql.Blob;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * @ClassName OracleUtils
 * @Description 一句话描述类的作用
 * @Author liux
 * @Date 2021/12/22 16:22
 **/
public class OracleUtils {
    public static String clobToString(ClobProxyImpl clobProxy) throws SQLException {
        String subString = clobProxy.getSubString(1, (int) clobProxy.length());
        return subString;
    }

    public static String blobToString(Blob blob) throws Exception {
        String newStr = "";
        int blobLength = (int) blob.length();
        byte[] bytes = blob.getBytes(1, blobLength);
        if(bytes == null || blobLength == 0){
            return "";
        }else {
            int i = 1;
            while(i < blobLength){
                bytes = blob.getBytes(i,1024);
                i = i + 1024;
                newStr = newStr + new String(bytes,"UTF-8");
            }
        }
        return newStr;
    }
}

yyyy年M月d日H时m分

如果您需要将日期格式化为类似 "2023年5月15日13时30分" 的形式,则可以使用以下代码:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年M月d日H时m分");
        String dateString = sdf.format(date);
        System.out.println(dateString);
    }
}

上述代码中的日期格式化字符串 "yyyy年M月d日H时m分" 表示按照年份、无前导零的月份、无前导零的日、24小时制的小时(不带前导零)、无前导零的分钟的顺序进行日期格式化。使用上述代码运行后,输出结果应该如下所示:

2023年5月15日1时0分

请注意,如果运行 code 中代码的时间刚好处于整点的话,输出结果是“1时0分”,因为没有前导零。

vue项目部署到nginx

nginx.conf:

user root;
worker_processes  1

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /home/ubuntu/myapp/ruoyi/ruoyi-ui/dist; # 路径改成自己的dist路径
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

        location /prod-api/{
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://localhost:8080/; #设置监控后端启动的端口
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root html;
        }

}

启动nginx:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重启:

/usr/local/nginx/sbin/nginx -s reload

查看nginx进程是否启动:

ps -ef | grep nginx

杀进程:

kill -9 pid

jar包后台启动:

nohup java -jar xxx.jar >log.out &