最近碰到的几个问题 问题1 switch提示错误

可能有些朋友问,为什么总是碰到问题?我只能说不懂的知识点太多了,有些就是“知道,不知道”的类型,因此不怕碰到,碰到了,记住了,这才是我们学习的目标。

问题1 switch提示错误

用字符串类型变量进行判断的switch,

switch(String类型变量) {

}
可能会提示这个,

Cannot switch on a value of type String for source level below 1.7
原因就是在低版本的JDK,switch语句的判断条件可以接受int、byte、char、short,不能接受其他类型,只有JDK版本1.7以上才可以支持String。

如果用的eclipse,在下图所示位置,替换jdk,

问题2 MySQL中的日期操作

如果要在MySQL的SQL中获取昨天、今天、明天的日期,

昨天日期
select DATE_SUB(curdate(),INTERVAL 1 DAY);
当前日期
select DATE_SUB(curdate(),INTERVAL 0 DAY);
SELECT curdate();
select now();(带时分秒)
明天日期
select DATE_SUB(curdate(),INTERVAL -1 DAY);
相近地,按照小时、分钟,都可以进行计算,

前一个小时
select date_sub(now(), interval 1 hour);
后一个小时
select date_sub(now(), interval -1 hour);
前30分钟
select date_add(now(),interval -30 minute);
后30分钟
select date_add(now(),interval 30 minute);

问题3 dba_synonyms的table_owner

Oracle的dba_synonyms视图记录了所有的同义词,其中有个列table_owner,原本我的理解,就是这个同义词指带的表名,但是发现某些table_owner是空的,难道存在不属于任何用户的表?

看了一下文档,原来这个字段,指的是同义词引用的对象属主,或者公共同义词的创建者,但是虽然叫table_owner,同义词指代的未必都是表,他可以是视图、序列、存储过程、其他的同义词,等等,对这些对象,table_owner就是为空的,因此当table_owner为空时,这个同义词指代的对象,应该不是表,而是其他类型的对象,

Owner of the object referenced by the synonym, or creator of the referring synonym if the target is a public synonym (that is, the object referred to by TABLE_NAME).

Although the column is called TABLE_OWNER, the object owned is not necessarily a table. It can be any general object such as a view, sequence, stored procedure, synonym, and so on.

我倒是认为,如果这个table_owner列改为object_owner,对其他的对象,都将属主存进来,可能通用性更强,不知道Oracle这种设计的考虑是什么。

问题4 Linux定时任务

Linux中执行定时任务经常会用到crontab,参数如下,

crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
其中,

(1) -u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

(2) -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定VISUAL环境变数来指定使用那个文字编辑器(setenv VISUAL xxx)。

(3) -r : 删除目前的任务表。

(4) -l : 列出目前的任务表。

(5) 使用者可以将所有的设定存放到文件中,执行crontab file设定。

时间格式如下:

f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推。

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推。

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推。

当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推。

问题5 SpringBoot提示包错误

SpringBoot跳转执行的时候,可能会提示这个,

这个错误很可能是包的结构存在错误,例如此处的controller,他和图中的com.hh.demo01.Demo01Application这个启动类是并列的关系,但实际上要将Appliation类置在最外层,包含其他所有的子包,否则就无法找到这些controller,

需要将controller拖至com.hh.demo01,让其在Application控制之下,

当然这个错误还可能是控制器的URL路径书写问题,例如实际访问的路径”xxx”和@RequestMapping(“xxx”)不同,逐一排查即可。

《最近碰到的几个问题》

问题1 Linux密码策略

问题2 sudo授权

问题3 springboot运行时指定配置文件

问题4 程序引用application.yml参数值

问题5 jxl操作文件兼容性

《最近碰到的几个问题》

问题1 Shell中的判断

问题2 一个正则需求

问题3 xml文件过滤标签

问题4 JSON解析

问题5 JSON字符串和JSON对象

《最近碰到的几个问题》

问题1 在程序中和MySQL做交互的时候,提示这个错误,Column count doesn’t match value count at row 1

问题2 从MySQL集群环境用mysqldump导出导入数据的时候,提示这个错误,@@GLOBAL.GTID_PURGED can only be set when

@@GLOBAL.GTID_EXECUTED is empty

问题3 MySQL导出的时候,一般用什么参数?

《最近碰到的一些问题》

问题1 按照空格分割字符串的需求

问题2 MyBatis错误,Invalid bound statement (not found)

问题3 JDBC错误,java.sql.SQLException: ORA-03115

问题4 JDBC连接串中使用SID和SERVICE NAME的不同

问题5 SQL Server的CTAS

《日常工作中碰到的几个技术问题》

问题1 PLSQL Developer中文显示问题

问题2 Windows 10安装PLSQL Developer

问题3 PLSQL Developer登录报错ORA-12504

问题4 Windows 10的PLSQL Developer字体显示很小

问题5 包含特殊字符的Oracle用户名创建

问题6 执行10053未生成trace

近期更新的文章:

《Linux的dd指令》

《Oracle、SQL Server和MySQL的隐式转换异同》

《JDK的版本号解惑》

《新增字段在数据块中的体现》

《SQL Server的索引碎片》

文章分类和索引:

《公众号700篇文章分类和索引》

声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/422277.html

联系我们
联系我们
分享本页
返回顶部