主页

MyBatis中if test传入0值时不识别

前言 本文会写一些探究以及解决问题的过程。如果只想看解决方案请使用导航栏跳转到相应位置。 问题描述&分析 使用了MyBatis做多条件查询,其中有一个参数是astatus,当前端给的值为1时,查询结果正常。而给0时,这个查询语句就不会被拼接使用,具体请接着看。 OperatingAccountDao.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0 /EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com...

阅读更多

kettle 写入效率提升优化!

数据处理逻辑 ktt从多表获取数据进行过滤分析,然后汇总处理,同步写入mycat分片表和对应的mysq数据库。 MYSQ配置以及调优,如果没有,建议参考此文档调整,数据库调优文档 初始写入效率 可以看到,数据处理效率很快,瓶颈在写入效率很低 优化写入 增加数据库链接参数 useServerPrepStmts=false rewriteBatchedStatements=true useCompression=true 调整kettle 表出入为仅插入,减少查询 旧节点: 新节点: 开启批量插入,批次为1000,可以根据自行调节找到合适的数值 优化ktr 执行之前截断写入的物理表和分片表 优化结果 写...

阅读更多

905-按奇偶排序数组

题目描述 给定一个整数数组 nums,将数组中的所有偶数元素移动到数组的前面,后跟所有奇数元素。 解决思路 使用双指针技巧,一个指针从数组开头向后移动,另一个指针从数组末尾向前移动。当左指针指向奇数、右指针指向偶数时,交换两个元素的位置,直到两个指针相遇为止。 算法代码 func sortArrayByParity(nums []int) []int { left, right := 0, len(nums)-1 for left < right { if nums[left]%2 != 0 && nums[right]%2 == 0 { nums[left], nums[right] = nums[...

阅读更多

mysql lost connection to server during query

复现 Navicat Premium 16进行数据导出的时候,导出一半频繁报错 ” mysql lost connection to server during query“。单表数据在100w左右,连续关联了6张表,虽然需求很不合理,但能导出来就好。 单表字段也很多,平均30个左右。根据错误提示,mysql查询过程中丢失链接导致错误。 方法一 修改max_allowed_packet 经实践,修改该参数为512M之后,重启之后还是不能解决此问题。 方法二 调整net超时参数 innodb_read_io_threads = 16 innodb_write_io_threads = 16 net_read_timeout = 28800 net_write_timeout =...

阅读更多

1013-将数组分成和相等的三个部分

题目概述 给定一个整数数组 arr,判断是否可以将其划分为三个和相等的非空部分。 示例 示例 1: 输入:arr = [0,2,1,-6,6,-7,9,1,2,0,1] 输出:true 解释:0 + 2 + 1 = -6 + 6 - 7 + 9 + 1 = 2 + 0 + 1 示例 2: 输入:arr = [0,2,1,-6,6,7,9,-1,2,0,1] 输出:false 解题思路 要将数组划分为三个和相等的非空部分,首先需要计算数组的总和。如果总和不能被3整除,那么无法分成三等分,直接返回 false。然后,使用双指针技巧,找到数组的两个分界点,使得每个分区的和都等于总和的1/3。 算法步骤 它接受一个整数数组 arr 作为输入,并返回一个布尔值,表示该数...

阅读更多

CentOS防火墙操作:开启端口、开启、关闭、配置

基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 : systemctl enable firewalld systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体 启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld....

阅读更多

go 打包静态资源,前后端一把梭

Go embed 它的作用就是可以在Go语言应用程序中包含任何文件、目录的内容, 也就是说我们可以把文件以及目录中的内容都打包到生成的Go语言应用程序中了,部署的时候,直接扔一个二进制文件就可以了,不用再包含一些静态文件了,因为它们已经被打包到生成的应用程序中了。 embed 的基本用法 Go embed的使用非常简单,通过//go:embed指令即可 实践参考例子 文件目录参考 资源目录必须和引用embed的文件目录平齐或者为子目录,不能在上级目录,其中web为静态资源目录,commentWeb.go为引用embed的go文件 实践代码 这段代码是一个简单的Go语言程序,用于启动一个基本的Web服务器,并将静态文件嵌入到可执行文件中。 //go:embed web...

阅读更多