- 博客(25)
- 收藏
- 关注
原创 使用jdbc连接presto驱动问题
场景1:Cause: java.sql.SQLException: Authentication failed: Basic authentication or X-Presto-User must be sent使用腾讯云的presto并且使用trino驱动时必须设置账号密码 但是presto是内网没有配置账号密码 这时候会出现问题场景2: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Au
2022-05-23 20:57:34
3153
4
原创 java类加载和spring的静态配置加载顺序踩坑
constan的静态成员变量使用spring获取配置参数上面这样使用是存在问题的,当constant类加载的时候spring并没有完成初始化此时获取key_prefix是为null,在spring中使用静态成员变量装配需要注意一下这个问题。...
2021-01-29 17:18:42
460
原创 索引失效(使用索引注意点)
不等于like通配符索引列的计算、类型转换非最左匹配 或联合索引使用范围查询(> < )之后的列 特别注意只要有=的含义是可以使用索引范围之后全失效!之前印象有这么一句话 其实这句话不准确 只要有=的含义是可以使用索引有些偏的索引失效会因为mysql版本不同等原因不一定按照一些博客说的会失效 我们主要考虑b+树的结构然后当查找时哪种方式这个树查找不下去应该就会索引失效索引查找会考虑这个索引的过滤性 太差过滤性的索引没有意义...
2020-09-08 10:13:46
184
原创 docker解决镜像时区与编码问题-java
我们开发的项目大部分都需要utc+8的时区以及utf-8的编码在使用docker时很多基础镜像默认环境是不符合我们的需要的如果不想对基本镜像进行修改 那么java直接启动命令指定jvm的参数就是一件很方便的事情了我们换其他镜像也不需要管那个镜像的时区和编码了CMD [“java”, “-Dfile.encoding=UTF-8”,"-Duser.timezone=GMT+8", “-jar”, “/opt/test-0.1.0.RELEASE.jar”]...
2020-08-25 17:59:01
554
原创 数据库连接不可用(同理http连接一样)
使用druid连接池会有这个问题 CommunicationsException, druid version 1.1.10, jdbcUrl :jdbc:mysql: testWhileIdle true, idle millis 1553441, minIdle 0, poolingCount 1, timeBetweenEvictionRunsMillis 60000, lastValidIdleMillis 1553441, driver org.gjt.mm.mysql.Driver, exce
2020-07-27 11:15:41
3068
原创 lombok踩坑系列
同时使用lombok的@Data和@Builder注解时lombok默认只会生成全参构造器 这个时候使用mybatis等orm框架就是无法完成创建对象如果使用Mybatis无法映射到对象上面 最好打开这个对象的字节码文件看一眼看看这个类的具体情况 会不会是没有无参的构造方法...
2020-07-25 11:47:01
199
原创 数据库表设计的坑
直接使用text字段存储一段json存在的问题当这段json的长度超长的时候 你是存不下的 此时需要修改存储结构 就是一个很要命的问题 特别是还存在历史数据的问题 设计使用需要谨慎
2020-07-22 14:39:16
186
原创 大数据量查询优化(限制数量连表查询)
当大表之前的连表查询如果业务是可以限制数量的话我们的连表逻辑应该是获取限制数量的主表结果集再去连表查询出相关的数据而优化前这种是连表完成后再去完成 group by、ORDER BY、LIMIT当命中的数据量是百万级别的时候 我们可以看业务限制数据量来提高查询效率优化前 select url_id,SUM(page_views) page_views,SUM(unique_visitors) unique_visitors, SUM(bounce) bounce,SUM(t
2020-07-22 11:25:26
2065
原创 浅拷贝和深拷贝与包装类不可变的反思
浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝,此为浅拷贝。深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。深拷贝实现可以利用 clone() 方法,我们可以对其内的引用类型的变量,再进行一次 clone()。而因为包装类如String、Integer都是不可变的 所以在拷贝的时候不会互相影响 就避免了浅拷贝带来的问题了...
2020-04-27 11:10:08
846
原创 百度referer api实现java版本以及注意点
百度referer api 获取百度检索关键词github实现地址需要百度云企业认证账号百度云云服务器才可以调用这个接口最大并发 15QPS 单日上限不清楚
2020-04-06 16:57:50
474
原创 maven多模块依赖导入失败以及私服下载包卡死
1、maven操作多模块项目打包操作root项目 在最顶层的项目上面打包不要操作子模块2、网络情况糟糕经常容易出现下载包卡死 强制退出后 会导致下次下载继续卡死 需要记录卡死的包去repository删除掉3、公司私有项目的包需要注意是否传到私服上面 以及版本是否正确 如果出现下载不下来 可以根据maven下载的日志拉下改项目源码找到对应的版本 install到本地仓库...
2020-03-04 11:06:50
637
原创 org.apache.ibatis.type.TypeException: The alias ‘‘ is already mapped to the value
由官方提供的解释可以知道应该是内部类或者接口和其他类的名称重复了通过在源码中打断点可以发现确实有重复的名称但是定位到那个类发现并没有内部类最后通过查看编译后的字节码发现由代码中使用JsonUtils的TypeReference最后导致生成了一个内部类一开始只有一个实体类使用了这种写法,出现了多个之后就出现了异常,修改json的反序列化方式放弃TypeReference的使用这种问题不容易发...
2020-02-07 16:18:20
4392
4
原创 文件写入乱码
文件io写入乱码可能是jvm获取了操作系统的默认编码最直接的方法可以添加启动jvm参数 -Dfile.encoding=UTF-8这边博客详细介绍了中文乱码各种不同乱码的产生情况https://www.ibm.com/developerworks/cn/java/analysis-and-summary-of-common-random-code-problems/index.html...
2020-02-07 16:17:17
507
原创 oracle迁移mysql命令行迁移数据库方案
从oracle 迁移到mysql 因为无法用数据库连接工具连接新的mysql只能用mysql命令行工具oracle导出使用sqldeveloper连接工具mysql使用navicat即可如果2个环境可以直接互相访问那么可以直接使用一些工具迁移有专门oracle导出数据到mysql的工具需要保证迁移对象mysql的字符集以及时区是utf和东八区(看情况)因为oracle和mysql的字...
2020-01-08 21:39:30
297
原创 千万数据更新
pt-online-schema-change数据库大表结构修改数据库数据出现问题先考虑sql解决问题因数据重复导致唯一索引失败 可用sql解决注意点数据量大小 太大批量更新查看表当前索引情况 唯一索引可以关闭唯一性检查、mysql表ddl操作会直接表上锁 大表可能卡死...
2019-11-27 21:49:43
419
原创 缓存以及redis cluster使用注意点
部署使用redis trib批量操作时 可能操作到不同节点的数据 redis cluster默认是不支持的 所以需要客户端进行处理可以把mget 用循环来遍历使用按照节点分组去不同节点访问在2基础上使用多线程hash_tag把所有key都包装到一个节点上注意点:默认有集群完整性 某个主节点宕机就全部不可用 配置关闭因互相通信的带宽问题 cluster-node-...
2019-10-11 22:10:49
255
原创 POI导出Excel按照条件判断生成数据
导出excel:有需求按照用户输入的条件判断是否需要生成某一行数据(数据量不大)解决方案:如果当前sheet没有合并单元格的话可以先创建一个模板Java poi 没有删除当前行方法 只能删除当前行数据导入模板 java中判断如果这行不需要可以删除当前行数据 或者删除数据后下一行开始向上移动一行来达到删除该行的目的而拥有单元格合并的excel移动必须保证移动后的单元格格式和目前一致 在模...
2019-07-11 22:52:28
808
原创 mybatis同时支持oracle与mysql注意点
oracle group by后面要加上select中除了sum之类的其他所有列oracle group by后面有clob类型时,要转换为to_char(xxx) 同一语句中select后面有类型也 要改 如果没有group by不需要修改...
2019-06-19 14:08:08
1208
原创 取消git合并分支
git merge --abort 取消git合并分支合并分支出现错误时取消合并直接回滚不好 因为当前分支会进入merge状态
2019-06-12 17:30:49
6908
原创 单元测试@TransActional注解注意点
单元测试@TransActional注解会自动回滚,他会自动带有@Rollback(true),如果需要修改数据库就不要使用@TransActional注解或者添加@Rollback(flase)
2019-05-08 12:26:17
3299
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人