Java|Spring

Spring Data

Bean

Bean可以简单到下面这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Entity
@Table(name="ROOM")
@Getter
@Setter
public class Room {

@Column(name = "ROOM_ID")
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name = "NAME")
private String name;
@Column(name = "ROOM_NUMBER")
private String roomNumber;
@Column(name = "BED_INFO")
private String bedInfo;
}

开头的@Table指定了表名。后面的每个field的值来源用@Column来指定。至于用来作为Key的field,直接一个@Id就能指定了。(Getter和Setter用Lombok自动生成)

如果不顾命名规则的话,不写@Column,把field的名字写成数据库中列的名字也是可以的,会自动映射(但是可能会在写Repository的method的时候出bug,no property之类的)

Date要用java.sql.date,直接用util的date的话需要做转换。

Repository

一个Interface:

1
2
3
@Repository
public interface RoomRepository extends CrudRepository<Room,Long> {
}

CrudRepository第一个参数是Bean的class名,第二个是Key的值类型。