学习内容
@注释
1.@Override
2.@Deprecated
3.@SuppressWarnings
4.@SafeVarargs
5.@FunctionalInterface
https://blog.csdn.net/weixin_43748564/article/details/107375850
Controller 和 RestController 区别
-
Controller和RestController 都是用来表示Spring某个类的是否可以接收HTTP请求。
-
Controller, RestController的不同点:
@Controller
:标识一个Spring类是Spring MVC controller处理器
@RestController
:@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面
ApiModel 和 ApiModelProperty 区别
@ApiModel
是用在接口相关的实体类上的注解,常常和@ApiModelProperty
注解配合使用。
@ApiModelProperty
注解则是作用在接口相关实体类的属性(字段)上的注解,用来对具体的接口相关实体类中的参数添加额外的描述信息,也经常单独拿出来用。
注意:ApiModel和 ApiModelProperty两个注解的作用域不同,一个是作用在类上,一个作用在属性上。
ApiModelProperty注解的属性较多,其中使用较多的属性有:value、name、required 、hidden以及allowEmptyValue属性。value属性就是对实体类中的字段进行描述和补充说明,解释该字段代表什么意思。比如,如果上述的实体类中的id字段信息,可以对其进行描述,所以可以理解为它就是一个注释的作用,方便清楚字段的含义。
学习:https://juejin.cn/post/7109835493952454693
类声明
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。不写声明则默认是default。
创建类变量的约束注释、如何判定空值
使用@NotNull判定空置,引入依赖为:
import javax.validation.constraints.NotNull;
使用示例:
@ApiModelProperty("地区")
@NotNull(message = "行政区域不能为空")
private String Region;
常用约束注解:
@Null 被注释的元素必须为null
@NotNull 被注释的元素不能为null
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
@Email 被注释的元素必须是电子邮件地址
@NotEmpty 被注释的字符串必须非空
@Range 被注释的元素必须在合适的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Length 被注释的字符串的大小必须在指定的范围内
@Size(max,min) 被注释的元素的大小必须在指定的范围内。
@Pattern(value) 被注释的元素必须符合指定的正则表达式。
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Digits(integer,fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
实体类相同字段赋值
正常赋值使用get和set,字段比较多的时候,可以使用一个工具类:
BeanUtils.copyProperties(voparams, tsparams);
导入包的时候:
import org.springframework.beans.BeanUtils;
Mybatis Plus内置Mapper
增
public Integer myClassInsert(myClass myclassparams) {
Integer res = myClassMapper.insert(myclassparams);
return res; //返回1则为增加成功
}
查
根据id查询:
public void testSelectById() {
People people = peopleMapper.selectById(1);
System.out.println("people: " + people);
}
条件查询
public void testSelectAll()
//条件为空则查询全部
List<People> list = peopleMapper.selectList(null);
list.forEach( System.out::println );
}
public void testSelectByParam2() {
// 表字段map
Map<String, Object> map = new HashMap<>();
map.put("sex", "女");
// Note:这里设置条件应使用数据表的字段名,而不是Java类的属性名
map.put("name", "佳丽");
// 多个条件为and的关系
List<People> list = peopleMapper.selectByMap(map);
list.forEach(System.out::println);
}
impl的作用、VO层的作用
VO层的存在就是方便前端获取数据,后端将前端的需要的数据做一个整合,打包成一个类。
注意:VO层不可继承自 Entity。
https://blog.csdn.net/Wangdiankun/article/details/104223921
获取 POST 请求参数详解
https://blog.csdn.net/small_love/article/details/111806745
修改端口
在application.properties文件中设置:server.port=xxxx
报错和问题处理
MyBatis-plus 新增实例,主键ID从很大的数字开始
向数据库新增一条实例,调用MyBatis-plus已经封装好的insert方法;数据库表设置了自增,但mybatis-plus在新增的时候,会出现主键ID从很大的数字开始(example ‘17629802347414’),而不是跟随自增序列增大。
原因在于,mybatis-plus在新增的时候会给一个主键ID,并且这个数字不规范,还不连续。这时候需要设置忽略掉这一点:
使用注释 @RequestMapping() 后,请求接口404报错
在pom.xml中导入webmvc依赖包:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.0.10</version>
</dependency>
项目启动失败
一般是依赖项版本的问题,在pom.xml中,如果有依赖项提示更新就可以更新一下,另外添加、修改依赖后要记得刷新一下maven
无法自动装配。找不到 ‘****‘ 类型的 Bean问题
https://blog.csdn.net/hilinxs/article/details/123719386
字符串转日期 format.parse 报错
需要用try和catch接一下:
示例:
public static Date getStrToDate(String str)
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try
{
date = format.parse(str);
}
catch(ParseException e)
{
e.printStackTrace();
}
return date;
}
学习:https://blog.csdn.net/xldancer/article/details/43453593
报错:“无法从 static 上下文引用非 static 方法 ‘toString()’”
想直接调用idea生成的tostring方法报的错,没查到解决方法,把自动生成的方法删了,反而能调用了。
idea 使用
使用idea创建一个springboot项目
下一步,选择依赖项,确认。
关闭拼写检查
在文件-设置中,检索“拼写”
改中文
在文件-设置中,打开“插件”,搜索“chinese”安装
选中相同内容
在IDEA中:
选中下一个相同内容的快捷键是:Alt + J
选中所有相同内容的快捷键是:Ctrl + Shift + Alt + J