spring boot使用jpa开发步骤

1、在集成spring boot的基本依赖包以外需要添加以下坐标:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!-- druid连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.15</version>
</dependency>
<!-- SpringBoot的Mybatis启动器 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2、编写实体类,jpa是基于hibernate集成开发的,所以必须使用注解

package com.testxml.domain;

import javax.persistence.*;

@Entity
@Table(name="girl")
public class Girl {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="id")
    private Integer id;
    @Column(name="age")
    private Integer age;
    @Column(name="cup_size")
    private String cup_size;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getCup_size() {
        return cup_size;
    }

    public void setCup_size(String cup_size) {
        this.cup_size = cup_size;
    }

    @Override
    public String toString() {
        return "Girl{" +
                "id=" + id +
                ", age=" + age +
                ", cup_size='" + cup_size + '\'' +
                '}';
    }
}

3、编写接口:

package com.testxml.dao;


import com.testxml.domain.Girl;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface GirlRepository extends JpaRepository<Girl,Integer> {

    @Query(value="select * from girl where age = ?",nativeQuery=true)
    public List<Girl> queryAge(Integer age);

}

4、controller:

@RequestMapping(value = "/testRepository",method = RequestMethod.GET)
public void testRepository(){
    List<Girl> girlList =  girlRepository.queryAge(21);
    for (Girl girl:girlList){
        System.out.println(girl.toString());
        logger.info("id:{}, age: {}",girl.getId(),girl.getAge());
    }

}

5、启动类无需填加额外注解配置,启动服务,访问http://localhost:8080/testRepository

猜你喜欢

转载自blog.csdn.net/qq_28524127/article/details/81277078