1. pom.xml加入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2. jpa设置(我使用的是yml配置文件)
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/test
username: root
password: 123456
jpa:
database: MYSQL
show-sql: true
hibernate:
ddl-auto: update # 分别有create,create-drop,update,validate四个选项
3. 创建repository接口以及实体类
UserRepo.java
@Component
public interface UserRepo extends JpaRepository<User,Integer> {
}
框架会生成实现JpaRepository接口所定义方法的代理类,然后注入到 UserRepo属性中
User.java
@Entity
public class User {
@Id
@GeneratedValue
private Integer id;
@Column
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
}
4.开始使用
User user=new User();
userRepo.save(user);
List<User> users= userRepo.findAll();
5.疑点记录:
User user1 = userRepo.findOne(1);//name=jack
//如果在此时user1在数据库中name被修改为tom,且被提交,由于hibernate一级缓存特性,下面的代码获取到的还是jack
User user2 = userRepo.findOne(1);//name=jack
user2.setName("tom");//如果该方法有显示声明事物,将在事务提交前执行userRepo.flush(),将tom更新到数据库
网友评论