java开发
- IDEA中设置注释模板
- xxx不是抽象的, 并且未覆盖xxx中的抽象方法
- @Valid 和 @Validated 注解用法详解 使用 @Valid 进行验证的时候,我们需要用一个对象去接收校验结果,最后根据校验结果判断,从而提示用户;@Validated 进行校验的时候,当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,这时需要再写一个全局校验异常捕获处理类,然后返回校验提示。经常和@notBlank结合使用
@NotBlank(message = "名称不能为空") @Size(min = 1,max = 10,message = "名称长度不能超过10个字符") @ApiModelProperty(value = "名称") private String name;
- @RequestParam和前端传入的参数名对应
- @PathVariablespring3.0的一个新功能:接收请求路径中占位符的值.@PathVariable参数必须和@Request/PutMapping中的路径参数保持一致.
- 报错:此运算符后面必须跟 any 或 all sql语句日期格式转换有问题__加上To_date
- get 几种传参方式
- if条件判断语句出现空指针问题记住:一定是先判断为空再赋值
-
报错:Parameter 'stationName' not found. Available parameters are [arg1, arg0, param1, param2]"报错原因:使用PathVariable注解传多个参数,需要在serviece接口和mapper类方法设置属性
- Cannot deserialize value of type `java.time.LocalDateTime` from Object value (token `JsonToken.START_OBJECT`)
- Cannot deserialize value of type `java.util.Date` from String
- Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: 无效的列索引
- get和post区别从底层来讲。get和post都是基于TCP的,是没有不同的。http协议限制了get和post。get传递一次。post传递两次。浅层的(可以从存储大小,缓存,格式,存储位置等方面讲)
- put(幂等)和post(非幂等)区别使用PUT时,必须明确知道要操作的对象,如果对象不存在,创建对象;如果对象存在,则全部替换目标对象。同样POST既可以创建对象,也可以修改对象。但用POST创建对象时,之前并不知道要操作的对象,由HTTP服务器为新创建的对象生成一个唯一的URI;使用POST修改已存在的对象时,一般只是修改目标对象的部分内容
- 学习restful风格,这里需要明确两点restful风格中请求方式GET、POST、PUT、DELETE分别表示查、增、改、删
- java //TODO注释的多种用法用来标记未完成的部分。用于java注释
- javadoc
- 常见的swagger注解
- toString()方法
-
@NotNull:不能为null,但可以为empty
@NotEmpty:不能为null,而且长度必须大于0
@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0
运行老项目注意事项
-
查看maven版本mvn -version
-
验证tomcat是否安装成功
-
如何在eclipse搭建的项目在idea中运行?如果该项目环境是1.7,在idea中如何将jdk1.7的项目用jdk1.8运行起来
-
怎么设置添加框架Add framework support
-
svn拉取不下来项目报错128____下载svn
-
java项目的目录结构
-
实体类的创建
-
运行老项目可能出现的报错
java: 不兼容的类型: java.lang.String无法转换为org.apache.xpath.operations.String——多个String工具包系统不知道指向哪一个
java 非法字符 \ufeff——java格式问题
java: 对println的引用不明确
java.io.PrintStream 中的方法 println(char[]) 和 java.io.PrintStream 中的方法 println(java.lang.String) 都匹配用对 象掉用方法的时候一定要创建对象
重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于 设定的值之前
springboot结合mybatis遇到的报错
- 时间格式化:按照时间进行查询——只涉及查询的话,可以使用String类型
- 日期范围报错:
使用Oracle数据库常见错误
- 文字与格式字符串不匹配先确定数据库表时间列对应字段(以varchar2)为例,如果java实体类字段也是String修饰。按照前端传值开始时间和结束时间一个时间范围查询,where条件时间一般使用TO_DATE,如果要根据时间进行判断,根据情景使用TO_CHAR
- Cause: java.sql.SQLDataException: ORA-01476: 除数为 0使用decode函数做一下替换,如果为0,则替换为1。(decode(字段列名,0,1)
-
Caused by: java.sql.SQLException: 数字溢出
- java.sql.SQLDataException: ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0