美文网首页
spring boot spring-data-jpa

spring boot spring-data-jpa

作者: 逗比punk | 来源:发表于2017-07-14 23:55 被阅读36次

    #一、 配置数据源:

    <!-- 数据库 --> <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency>
    <dependency>
    <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId> 
    <scope>runtime</scope>
    </dependency>
    
    二、Jpa 配置

    JPA

    spring.jpa.hibernate.ddl-auto= update #显示 sql 语句 
    spring.jpa.show-sql=true
    
    三、 实体类
            @Entity
            public class RoncooUserLog {
             @Id
             @GeneratedValue
             private Integer id;
             @Column
             private Date createTime;
             @Column
             private String userName;
             @Column
             private String userIp;
             public Integer getId() {
                  return id;
    }
    
             public void setId(Integer id) {
                  this.id = id;
    }
             public Date getCreateTime() {
                  return createTime;
    }
             public void setCreateTime(Date createTime) {
                  this.createTime = createTime;
    }
             public String getUserName() {
                  return userName;
    }
             public void setUserName(String userName) {
                  this.userName = userName;
    }
             public String getUserIp() {
                  return userIp;
    }
             public void setUserIp(String userIp) {
                  this.userIp = userIp;
    }
             @Override
             public String toString() {
    return "RoncooUserLog [id=" + id + ", createTime=" + createTime + ", userName=" + userName + ", userIp=" + userIp + "]";
    } }
    
    四、定义接口(继承 JpaRepository)
    public interface RoncooUserLogDao extends JpaRepository<RoncooUserLog, Integer>{ }
    
    五、 测试
    @Autowired
    private RoncooUserLogDao roncooUserLogDao;
    
    @Test
    public void insert() {
      RoncooUserLog entity = new RoncooUserLog(); entity.setUserName("无境"); 
    entity.setUserIp("192.168.0.1"); entity.setCreateTime(new Date()); roncooUserLogDao.save(entity);
    }
    @Test
    public void delete() {
        roncooUserLogDao.delete(1);
     }
     @Test
    public void update() {
      RoncooUserLog entity = new RoncooUserLog();
      entity.setId(2);
      entity.setUserName("无境 2");  
      entity.setUserIp("192.168.0.1"); 
      entity.setCreateTime(new Date()); 
      roncooUserLogDao.save(entity);
    }
    @Test
    public void select() {
         RoncooUserLog result = roncooUserLogDao.findOne(1);
         System.out.println(result);
    }
    

    六、 扩展进行自定义的查询

    1. 使用内置的关键词查询
      http://docs.spring.io/spring-data/jpa/docs/1.10.2.RELEASE/reference/html/
    2. 使用自定义语句查询
      各种语法,具体查看
      http://docs.spring.io/spring-data/jpa/docs/1.10.2.RELEASE/reference/html/
      这个优先级比上面的高
    @Query(value = "select u from RoncooUserLog u where u.userName=?1")
    

    测试

    public void select2() { List<RoncooUserLog> result =
    roncooUserLogDao.findByUserName("无境"); System.out.println(result);
    }
    @Test
    public void select3() { List<RoncooUserLog> result =
    roncooUserLogDao.findByUserNameAndUserIp("无境", "192.168.0.1");
    System.out.println(result); }
    // 分页 @Test
    public void queryForPage() {
    Pageable pageable = new PageRequest(0, 20, new Sort(new
    Order(Direction.DESC, "id"))); 
    Page<RoncooUserLog> result =
    roncooUserLogDao.findByUserName("无境", pageable); 
    System.out.println(result.getContent());
    }
    

    相关文章

      网友评论

          本文标题:spring boot spring-data-jpa

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