跨域问题解决方案(SpringBoot)

什么是跨域访问

说到跨域访问,必须先解释一个名词:同源策略。所谓同源策略就是在浏览器端出于安全考量,向服务端发起请求必须满足:协议相同、Host(ip)相同、端口相同的条件,否则访问将被禁止,该访问也就被称为跨域访问。

阅读全文

代码生成器(Mybatis-Plus)

添加依赖

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
阅读全文

条件构造器(Mybatis-Plus)

wrapper

常用两大类:

  • QueryWrapper : Entity 对象封装操作类,不是用lambda语法
  • UpdateWrapper : Update 条件封装,用于Entity对象更新操作
阅读全文

分页插件(Mybatis-Plus)

分页配置

MybatisPlusConfig自定义类中开启分页插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Component
@MapperScan("com.catnyan.mapper")
public class MybatisPlusConfig {
/**
* 新版3.4.3.1
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
//开启分页插件
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));

return mybatisPlusInterceptor;
}
}

阅读全文

字段自动填充(Mybatis-Plus)

对于表中日期类的属性我们想要系统自动来完成创建和更新,但并非所有数据库都支持,而且也不建议通过修改数据库来实现这一功能,好消息是Mybatis-Plus也拥有自动填充的功能,坏消息是好像有点小问题。

阅读全文

java中的::是什么意思?

forEach(System.out::println)

1
2
3
for (String s : str){
System.out.println(s);
}

上面的代码我们已经很熟悉了,可forEach(System.out::println)是什么鬼?

其实这是lambda表达式的进一步精简,等价于forEach((x)->System.out.println(x))

阅读全文

Sequence键(Mybatis-Plus)

@TableId

在实体类的主键字段上添加@TableId注解,指定生成ID类型即可完成主键的设置

例如:

1
2
3
4
5
6
7
8
9
10
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
/*type的不同取值在IdType枚举类中进行了定义,见后续内容*/
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private String password;
}
阅读全文

SpringBoot整合Mybatis-Plus

添加依赖

引入Spring Boot Starter 父工程:

1
2
3
4
5
6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>spring-latest-version</version>
<relativePath/>
</parent>
阅读全文

IoC是什么?为什么要用?

在学习java后端的过程,spring框架已经是一个绕不开的话题,其中的新技术我们虽然会用却很少有人会思考问什么要用这个技术,IoC就是如此,因此在讨论IoC是什么之前,我想先讨论为什么Spring要引入这项技术。

阅读全文