美文网首页
springboot jpa简单使用

springboot jpa简单使用

作者: Yahahaya | 来源:发表于2017-09-27 03:10 被阅读0次

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更新到数据库

相关文章

网友评论

      本文标题:springboot jpa简单使用

      本文链接:https://www.haomeiwen.com/subject/izlyextx.html