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