步骤
- 数据库配置
- 创建数据库对象(表的映射)
- 配置接口
- 单元测试
配置
数据库的表名与类名必须要对应:
虽然类名驼峰写,表名是下划线写法,但是spring-boot-starter-data-jpa会自动识别将两者关联
如果想类名与表名不一致可以在类上加入@Table
注解:如:@Table(s_product_category)
@Data包含了getter/setter、equals、hashcode、toString等等方法。
需要使用lombok插件
IDEA需要添加下载插件:preferences->搜索Plugins->搜索lombok->安装
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
自动更新时间需要在表类中添加 @DynamicUpdate 注解(否则表类中有createTime、updateTime属性时,更新方法不会自动更新时间)
接口:
使用 list 查询,一次查多个数据,查的结果为list,通过CategoryType查,In代表在其范围内的,查询条件为categoryTypeList。即:查询CategoryType在categoryTypeList范围内的数据
单元测试
注意: 使用Goto创建的测试类一定要检查@Test注解导入的包是否的是 import org.junit.Test;
若为其他包会报错:
java.lang.Exception: No runnable methods
配置 url 若没有设置时区会报错(试了很多方法,还是要加上)
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost:3306/sell?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 #设置时区
jpa:
show-sql: true
Springboot2.0后 findOne(id) 方法被废除,使用 findById(id) 代替, findOne(S)用来查找对象S
添加数据时需要有一个有参的构造方法,否则会报错
使用list条件查询所有数据时需要有一个无参的构造方法,否则会报错
为了防止不必要的错误,创建类时,直接将有参和无参构造方法加上