点餐系统---买家端01---配置Dao层时的注意事项

步骤

  1. 数据库配置
  2. 创建数据库对象(表的映射)
  3. 配置接口
  4. 单元测试

配置

数据库的表名与类名必须要对应:点餐系统---买家端01---配置Dao层时的注意事项_第1张图片
虽然类名驼峰写,表名是下划线写法,但是spring-boot-starter-data-jpa会自动识别将两者关联
如果想类名与表名不一致可以在类上加入@Table注解:如:@Table(s_product_category)

点餐系统---买家端01---配置Dao层时的注意事项_第2张图片
@Data包含了getter/setter、equals、hashcode、toString等等方法。
需要使用lombok插件
IDEA需要添加下载插件:preferences->搜索Plugins->搜索lombok->安装

<dependency>
     <groupId>org.projectlombokgroupId>
     <artifactId>lombokartifactId>
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

点餐系统---买家端01---配置Dao层时的注意事项_第3张图片
Springboot2.0后 findOne(id) 方法被废除,使用 findById(id) 代替, findOne(S)用来查找对象S
点餐系统---买家端01---配置Dao层时的注意事项_第4张图片
添加数据时需要有一个有参的构造方法,否则会报错
点餐系统---买家端01---配置Dao层时的注意事项_第5张图片

使用list条件查询所有数据时需要有一个无参的构造方法,否则会报错
点餐系统---买家端01---配置Dao层时的注意事项_第6张图片
为了防止不必要的错误,创建类时,直接将有参和无参构造方法加上

你可能感兴趣的:(#)