mysql的timestamp字段和serverTimezone的关系 综合上面两点,我们可以看出来,在使用时间字符串存储mysql的timestamp字段的时候,跟url里的serverTimezone无关,而使用Date存储的时候,会根据这个进行时区转换,然后物理存储的时候再转成UTC偏离的秒数.因为我的本地jvm的时区是东八区,而url中设置的UTC,所以,在存入mysql的时候,会先将DateTime减去8小时,而如果你的mysql的time_zone为东八区的时候,就会报上面同样的错误.所以使用这个字段类型需要注意,只能到2038年,否则就会出现溢出的问题。
spring web启动失败后进程无法结束,一直报数据库连接失败的问题 猜测的原因,这个问题比较明显,应该是启动springboot的时候,web服务的端口1666已经被占用,启动失败。这个占用1666端口的进程,其实也是同一个jar包启动的,导致从表面上看,web服务的功能是正常的,但是不停的输出错误日志(因为后台线程的死循环里一直查询数据库)。而这个报错又比较奇怪。然后我自然而然就想到自己执行死循环的service也实现这个接口,在report的时候,设置一个本地变量,表示springweb启动失败,然后停止这个线程。再使用同样的命令启动,结果就出现了上面的错误日志。
记录一次解决使用jdbc创建oracle连接慢的问题 在测试环境出现了这样一个问题:有几个任务执行的时候(由调度执行,频次10分钟一次),偶尔会出现创建oracle连接慢的问题(大概几十秒到几分钟)。问题的定位是通过打日志,在DriverManager.getconnection()的上面和下面各打一行日志,发现如果出现慢的时候,都是在创建连接的时候卡住了。于是去看DriverManager的源码,发现Drivermanager其实是有日志打印的,只不过需要用户特意指定一下,通过下面的代码,就可以让DriverManager打印日志:DriverMa
记录一次诡异的mysql连接超时和mysql连接错误的问题 在生产环境中,偶尔且不规律的出现mysql连接超时和创建连接出错的问题:15-09-2020 13:25:46 INFO - java.sql.SQLNonTransientConnectionException: Could not create connection to database server.15-09-2020 13:25:46 INFO - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.
如果在同一个JVM中使用不同jar包下面包名和类名完全相同的类 背景:在引入第三方jar包以后,偶尔会遇到不同jar包中的类冲突。这里所说的冲突,是指类的包名和类型完全相同(有的时候希望同时使用相同类的不同版本)。参考地址:https://baijiahao.baidu.com/s?id=1636309817155065432&wfr=spider&for=pc处理思路:见上图,使用原生的类加载是实现不了这个功能的,需要使用自定义类...
spring中使用字符串注入collection,如set/array 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
记录一次给mysql加日期分区的经历 使用range建立分区,先是在本地5.0.45版本mysql上建立,一直失败。于是到测试服务器5.5.35上建立,也失败,而且错误提示信息模糊。于是从网上最简单的做起,最后发现,跟表的主键有关系,如果有id主键,又想使用time来做分区,那么需要将主键设置为:CREATE TABLE t (`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'i
linux入门之awk和shell变量传递 一、awk使用shell中的普通变量方法1:使用引号法aa="hello"awk 'BEGIN {print "$aa"}'输出$aaawk 'BEGIN {print "'$aa'"}'输出helloawk 'BEGIN {print ""$aa""}'输出空aa="hello! coder"awk 'BEGIN {print "'$aa'"}'
hibernate中将ip转化为整数存储在mysql中 建表的时候将字段设置为int unsignedhibernage的配置文件如下: read="inet_ntoa(uip)" write="inet_aton(?)"/>注意:read和write要比较新的hibernate版本里才有,否则dtd里面没有定义该元素。我使用的hibernate-distribution-3
MAX函数和GROUP BY 语句一起使用的一个误区 原文地址:http://yueliangdao0608.blog.51cto.com/397025/81278/ 使用MAX 函数和 GROUP 的时候会有不可预料的数据被SELECT 出来。下面举个简单的例子:想知道每个SCOREID 的 数学成绩最高的分数。表信息:/*DDL Information For - test.lkscore*/---------
tomcat中sessionid跨域名的问题emptySessionPath="true" 配置是这样的: maxThreads="512" minSpareThreads="25" maxSpareThreads="100" enableLookups="false" acceptCount="256" connectionTimeout="20000" disableUploadTim
hibernate使用Criteria计算乘法 题目虽说是计算乘法,但是能代表一类应用,就是Criteria执行一般sql的功能。hql与QBC的一些查询操作1:QBC做比较常见的统计操作,两列相乘,再计算和因为最近一段时间在用hibernate做些东西,而且对sql不感兴趣,所以想用hql,qbc完成数据统计的操作(当然,数据统计也可以再逻辑层完成,但是那样就显得效率不高。。。)况且也在学习阶段,所以还是多看看多学学。首先
对整段内容进行匹配和替换 功能,在整段文本内容中,查找符合某些条件的内容,进行替换。需要注意的是,因为查找了替换是两个步骤,可能造成替换的内容并非查找的内容。 package com.shuwei.tools;import java.util.regex.Matcher;import java.util.regex.Pattern;/* * 对一段文本中的某些字符进行处理后,再替换 */public
使用filter拦截servlet和jsp页面的内容,进行过滤后输出 思路:使用filter拦截servlet或者jsp页面内容,比如内容替换,再向用户展现修改后的页面使用普通的filter拦截页面内容,会出现这种情况从入中可以看出,输出内容并没有通过过滤器就输出了。 从入中可以看出,输出内容并没有通过过滤器就输出了。既然使用普通filter不能达到目的,那么就换一种方法,在Servlet或者jsp接收到response之前,将response使用一
使用msm配置分布式tomat,实现session共享 这个过程是我在公司服务器上测试成功的,可能不是很通用。1.tomcat版本是:Server version: Apache Tomcat/6.0.33将如下jar包放入到tomcat的lib目录下:spymemcached-2.7.3.jar,msm-javolution-serializer-1.6.3.jar,memcached-session-manager-tc6-1.6.2.
JspWriter与PrintWriter的关系 一.JspWriter与PrintWriter的关系:1.都是继承自java.io.Writer类.JspWriter可以在JSP页面中直接用out对象输出.可以用pageContext.getOut();得到JspWriter对象.PrintWrietr在JSP页面中必须用response.getWriter();方法得到其对象.二者作用域不同.2.在JSP页面中同时调用