美文网首页
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