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