任何的项目都是离不开数据的操作的。俗话说巧妇难做无米之粥。数据库就相当于米。
话不多说开始操作
首先,为了连接数据库需要引入jdbc支持,在pom.xml
中引入如下配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
嵌入式数据库支持
嵌入式数据库通常用于开发和测试环境,不推荐用于生产环境。Spring Boot提供自动配置的嵌入式数据库有H2、HSQL、Derby,你不需要提供任何连接配置就能使用。
比如,我们可以在pom.xml
中引入如下配置使用HSQL
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>
连接生产数据源
以MySQL数据库为例,先引入MySQL连接的依赖包,在pom.xml
中加入:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
在src/main/resources/application.properties
中配置数据源信息
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
本文以Mysql为主
1.配置pom
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2.yml配置
girl:
age: 18
name: "XXFF"
server:
port: 8081
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/hap_dev
username: root
password: root
3.代码结构层级如图
4.建立对象Person
package com.big.fly.object;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* Created by Administrator on 2018/4/15.
*/
@Entity
public class Person {
@Id
@GeneratedValue
private Integer id;
private String name;
private Integer age;
//必须要有构造函数
public Person() {
}
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;
}
public void setAge(Integer age) {
this.age = age;
}
}
5.建立
PersonController
package com.big.fly.controller;
import com.big.fly.dao.PersonRepository;
import com.big.fly.object.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Created by 方文飞 on 2018/4/26.
*/
@RestController
public class PersonController {
@Autowired
PersonRepository personRepository;
/**
* 通过底层的jpa
* @param age
* @return
*/
@GetMapping(value = "/person")
private List<Person> personList() {
return personRepository.findAll();
}
/**
* 通过年龄来查询
* @param age
* @return
*/
@GetMapping(value = "/person/age/{age}")
public List<Person> personListByAge(@PathVariable("age") Integer age) {
return personRepository.findByAge(age);
}
}
6.建立Dao PersonRepository
package com.big.fly.dao;
import com.big.fly.object.Person;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* Created by 方文飞 on 2018/4/15.
*/
public interface PersonRepository extends JpaRepository<Person,Integer> {
/**
* 通过年龄来查询
* 方法名固定findByAge
* @param age
* @return
*/
public List<Person> findByAge(Integer age);
}
7.运行结果如下