NotesNotes
首页
GitHub
首页
GitHub

修改数据库字符

 

SELECT
	CONCAT(
		'ALTER TABLE `',
		TABLE_NAME,
		'` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;'
	) as all_result
FROM
	information_schema.`TABLES`
WHERE
	TABLE_SCHEMA = 'xiaozhi_health_cloud';
	
	
	
	ALTER TABLE `ad_material` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `ad_position` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `ad_project` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `ad_work_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_details_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_download_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_picture_relation` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_start_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_type` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_type_relation` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `app_version` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_agreement` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_app` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_app_whitelist` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_bus_data_relation` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_bus_data_relation_constraint` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_bind_check_item` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_guide_resource` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_item_result_gap` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_item_standard` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_profile` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_result` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_result_advice` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_result_bind_check` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_check_result_bind_check_item` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_config` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_dict_data` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_dict_type` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_help_manual` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_rom_version` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `base_version` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_ns` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_record` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_record_result` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_rtcf` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_sm` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_tw` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_tx` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_xd` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_xhdb` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_xt` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_xya` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_xyang` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `check_xz` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `commodity` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `commodity_consultation` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_daily_online_record` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_delay_record` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_emergency_contact` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_enter_warehouse_record` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_order` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_outside_model` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_pill_box_item` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_pill_box_item_medicine_info` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_pill_box_item_medicine_member` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_pill_box_item_medicine_record` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_pill_box_item_medicine_record_member` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_replace` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `device_work_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `goods` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `goods_release` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `health_science_article` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `health_server_order` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `health_server_product` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member_bind_device` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member_health_eat_conditions_history` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member_health_eat_habits_history` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member_health_history` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member_health_history_fill` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `member_health_sport_hisoty` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `notice` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `notice_device_inbox` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `notice_user_inbox` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `op_app` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `op_app_version` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `op_app_whitelist` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `order` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `order_detail` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `product_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource_article` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource_audio` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource_bind_category` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource_category` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource_collect` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `resource_video` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `safe_repair_limit_time` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sheet3` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `suggest_common` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `suggest_diet` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `suggest_diet_apply` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `suggest_diet_apply_relation` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `suggest_sport` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_area` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_city` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_dept` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_login_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_province` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_role` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_role_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_user` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `sys_user_role` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `tags` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `tags_link` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `tags_made` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `tags_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `user` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `user_app_device_setting` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `user_bind_device` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE `user_collect_article` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

设置默认的隔离级别

spring.datasource.hikari.transactionIsolation: 2

springboot本地启动https服务

使用keytool生成证书 【】

keytool -genkeypair -alias tomcat -keyalg RSA -keysize 1024 -storetype PKCS12 -keystore keystore.p12 -validity 3650 -ext SAN=DNS:localhost,IP:127.0.0.1

生成证书后,要防止maven篡改证书里面的内容

<resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.p12</include>
        </includes>
        <filtering>false</filtering>
</resource>

maven 高版本默认不能使用http仓库

<mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
 </mirror>

高版本的配置文件里有这个配置,注释掉。

如果用的是idea内置的maven. 需要找到它的配置文件所在位置如\plugins\maven\lib\maven3\conf

或者在setting.xml设置文件里增加mirror节点 id 要与下面的http://192.168.19.193:8081/repository/maven-releases/ 对应的仓库id 一样

  <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://192.168.19.193:8081/repository/maven-releases/</url>
      <blocked>false</blocked>
</mirror>   

注意私有仓库有release,snapshot库时,这样设置时,导致只能下载排在最前面的mirror内的内容

maven deploy 整个项目时,忽略某个模块

在properties中设置maven.deploy.skip=true

https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html

maven 编译某个子模块

mvn clean compile -pl module-name -am

-pl 指定要编译的模块 -am 指定要编译的模块的依赖模块

maven 同时构建被依赖的模块

mvn clean compile -pl module-name -amd -DskipTests

-amd 指定要编译的模块的依赖模块 -DskipTests 跳过测试

maven 升级项目版本

mvn versions:set -DnewVersion=1.0.0
## 没问题再提交
mvn versions:commit
## 如果有错误,回滚
mvn versions:revert

设置cookie

在默认情况下,使用Ajax发送的请求不会生成新的Cookie。

Cookie cookie = new Cookie("aa4","ccc3");
// 二级域名的请求设置 一级域名的cookie
cookie.setDomain("cunwedu.com.cn");
// 如果不设置path的话,默认就是当前请求路径
cookie.setPath("/");
// 如果不设置这个的话,默认过期时间就是当前对话
cookie.setMaxAge(3600);
response.addCookie(cookie);

小智上线问题

  1. 买的服务器只有1M的带宽,访问速度很慢

    开通阿里云的ALB,针对mqtt,开通NLB

  2. 开通NLB在配置负载的时候,发现DNS下对应的两个ip,一个可以通,一个不通

    退订,重新订购一个,又可以了

数据库报错this is incompatible with sql_mode=only_full_group_by


### 查询原有的sql_mode
SELECT @@global.sql_mode;
### 去除only_full_group_by
SET @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';


或者,你可以在MySQL的配置文件中永久更改它。在[mysqld]部分添加以下行:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

MapStruct 与 Lombok 一起使用时

可能存在冲突,与生成的代码不完整。在父pom文件中依次引入

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <scope>provided</scope>
        </dependency>

Lombok 1.18.16 introduces a breaking change (changelog). The additional annotation processor lombok-mapstruct-binding (Maven) must be added otherwise MapStruct stops working with Lombok. This resolves the compilation issues of Lombok and MapStruct modules.

<path>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-mapstruct-binding</artifactId>
    <version>0.2.0</version>
</path>

https://mapstruct.org/documentation/stable/reference/html/#lombok

mvn上传单个jar或pom文件

## 上传jar包,如果pom件里没有相应的依赖配置,可以省略-DpomFile
mvn deploy:deploy-file -DgroupId='com.cunw' -DartifactId=framework -Dversion='4.3.0-SNAPSHOT' -Dpackaging=jar -Dfile='./framework-4.3.0-SNAPSHOT.jar' -DpomFile='./framework-4.3.0-SNAPSHOT.pom' -Durl='http://leite-dev:8081/repository/maven-snapshots/' -DrepositoryId=snapshots
## 上传pom文件
mvn deploy:deploy-file -DgroupId='com.cunw' -DartifactId=parent -Dversion='4.3.0-SNAPSHOT' -Dpackaging=pom  -Dfile='./parent-4.3.0-SNAPSHOT.pom' -Durl='http://leite-dev:8081/repository/maven-snapshots/' -DrepositoryId=snapshots

如果报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository:

  • 将要上传的 POM 文件和 JAR 文件都复制到一个临时目录中,不要放在本地仓库路径下。
mvn deploy:deploy-file -DgroupId='com.cunw' -DartifactId=sms -Dversion='4.2.0-SNAPSHOT' -Dpackaging=jar -Dfile='./sms-4.2.0-SNAPSHOT.jar' -DpomFile='./sms-4.2.0-SNAPSHOT.pom' -Durl='http://leite-dev:8081/repository/maven-snapshots/' -DrepositoryId=snapshots

mysql 查询运行的进程

SHOW PROCESSLIST;

杀死某个进程:

KILL [process_id];

mybatis-plus 更新字段为null

UpdateWrapper<CunwOfficialDocReadRecord> wrapper = new UpdateWrapper<>();
        wrapper.eq("status", BaseStatusEnum.START_USING.getStatus().toString());
        this.update(wrapper);
mybatis-plus:
  global-config:
    db-config:
      insert-strategy: ignore

idea 连接不上 mysql,navicate可以连

加上配置, useSSL=false

idea 连上正式环境后,无法查询表里的数据 ,换成5.1的驱动试一下

eureka 不被其它服务发现,自身可以调用其它的服务

eureka:
  client:
    register-with-eureka: false

wsl中修改默认用户

要在Windows 11的WSL Ubuntu系统中默认以root用户登录,您可以按照以下步骤操作:

  1. 启用WSL:首先,您需要启用Windows Subsystem for Linux (WSL)。以管理员身份打开PowerShell,并运行以下命令来启用WSL功能:

    wsl --install
    

    系统可能需要重启以完成安装过程。

  2. 安装Ubuntu:通过Microsoft Store搜索并安装Ubuntu 22.04,或者通过PowerShell安装:

    wsl --install -d Ubuntu-22.04
    
  3. 初次启动和设置root密码:安装完成后,首次启动Ubuntu时,系统会提示您创建一个普通用户账户。使用此账户登录后,切换到root用户并设置密码:

    sudo passwd root
    

    按照提示输入新的root密码,并再次确认。

  4. 配置默认root用户登录:现在root用户的密码已经设置好了,我们可以通过配置wsl.conf文件来设置默认用户为root。在Ubuntu实例中,创建或编辑/etc/wsl.conf文件:

    sudo nano /etc/wsl.conf
    

    在文件中添加以下内容:

    [user]
    default=root
    

    保存并关闭文件。然后,关闭Ubuntu实例并在Windows PowerShell或命令提示符中关闭所有正在运行的WSL实例:

    wsl --shutdown
    

    再次启动Ubuntu WSL实例,这时应该以root用户登录。

在ubuntu中怎么查看某个命令是哪个包提供的

在Ubuntu中,你可以使用dpkg命令来查找/usr/bin/javac命令是由哪个包提供的。首先,你需要确定javac命令的完整路径,可以使用which命令来做这件事:

which javac

然后,使用dpkg -S命令来查找提供该文件的包:

dpkg -S $(which javac)

如果javac是一个符号链接,你可能需要使用readlink命令来获取原始文件的路径,然后再用dpkg -S来查找:

dpkg -S $(readlink -f $(which javac))

在wsl上无法安装jdk

您好!看起来您在尝试在WSL上安装OpenJDK 8,但遇到了包无法找到的问题。这可能是因为您的包列表不是最新的。您可以尝试以下步骤来解决这个问题:

  1. 首先,更新您的包索引:

    sudo apt update
    
  2. 然后,再次尝试安装OpenJDK 8:

    sudo apt-get install openjdk-8-jdk
    

如果您的系统仍然提示找不到包,可能是因为您的Linux发行版的软件源中没有包含OpenJDK 8。在这种情况下,您可以尝试添加一个包含该软件包的软件源,或者安装其他版本的OpenJDK,如OpenJDK 11或OpenJDK 17。

此外,如果您需要配置JAVA_HOME环境变量,可以使用以下命令找到JDK的安装路径:

sudo update-alternatives --config java

然后,您可以将以下内容添加到~/.bashrc或~/.profile文件中:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

最后,执行以下命令使变量生效:

source ~/.bashrc

或者

source ~/.profile

高版本的redis切换到低版本的redis运行不成功

高版本的redis运行起来后,需要换到低版本时,要把高版本留下来的redis-data删除掉

idea中启动项目报错

C:\Code\xiaozhi-health-cloud-api\common\src\main\java\com\zsy\health\common\annotation\RedisCaches.java:21:9 java: 写入com.zsy.health.common.annotation.RedisCaches时出错: Output directory is not specified

删除项目中的.idea相关的文件和文件夹。重新创建新的应用。

idea 中spring启动应用报错

17:32:54.310 [main] ERROR org.springframework.boot.SpringApplication -- Application run failed
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:215)
	at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:173)
	at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:168)
	at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:123)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:1204)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:320)
	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:238)

可能是idea中的字符编码设置有误

powershell中运行命令带参数

需要将参数用双引号包起来

java -jar "-Dspring.profiles.active=local" ./app.jar

docker主机上修改hosts文件后

在docker里的镜像没有生效。可能需要重启docker服务

systemctl restart docker

nginx 一个域名转到另外一个域名

location /area-oa/ {
        proxy_pass https://a.com/area-oa/;
        ## 确保与单独访问a.com一样的效果
        proxy_set_header Host a.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

safari文件下载乱码

objectMetadata.setContentDisposition("inline;filename*=utf-8''" + downloadFileName);

filename* 不能缺少字符集声明,不能少了''

mybatis 不同的数据库配置同一sql id的不同语句

增加类似这样的配置:

@Bean
    public DatabaseIdProvider databaseIdProvider() {
    	VendorDatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
        Properties properties = new Properties();
        // 在mapper中标注databaseId="mysql"则表示该sql仅支持MySQL数据库
        properties.put("Oracle","oracle");
        properties.put("MySQL","mysql");
        properties.put("SQLServer","sqlserver");
        properties.put("PostgreSQL","pg");
        properties.put("DM","dm");
        databaseIdProvider.setProperties(properties);
        return databaseIdProvider;
    }

至于类似这些Oracle、DM 这些值是怎么来的,是由具体的驱动程序决定的, 可以写个类似的测试代码去获取

public class DatabaseProductNameCheck {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/your_database";
        String user = "your_username";
        String password = "your_password";

        try (Connection conn = DriverManager.getConnection(url, user, password)) {
            DatabaseMetaData metaData = conn.getMetaData();
            String productName = metaData.getDatabaseProductName();
            System.out.println("Database Product Name: " + productName);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

然后就可以在mapper xml中写不同的语句了:

<select id="selectUsers" resultType="User" databaseId="mysql">
  SELECT * FROM users
</select>

<select id="selectUsers" resultType="User" databaseId="oracle">
  SELECT * FROM user_table
</select>

在windows上查询哪个程序占用了某个端口命令

在 Windows 上查询端口占用可以使用以下命令:

  1. 直接查询 8080 端口:
netstat -ano | findstr :8080
  1. 查看具体进程:

例如,如果你看到 PID 是 1234,就可以:

tasklist | findstr 1234
  1. 如果要一次性完成上述操作,可以直接使用:
netstat -aon | findstr :8080 && tasklist | findstr <PID>

如果需要关闭占用端口的程序,可以使用:

taskkill /PID <PID> /F
Last Updated: 12/19/25, 5:34 AM
Contributors: RuanCong