1、在pom.xml 中添加mysql连接jar和jpa的jar
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、创建Customer实体类
package com.example.jdbc.jpa.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity//注明实体类
public class Customer {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY) //主键增在策略,IDENTITY数据库自增长、 @GeneratedValue(strategy=GenerationType.AUTO)//hibernate主键增长策略
private Integer id;
private String firstName;
private String lastName;
protected Customer() {}
public Customer(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
return String.format(
"Customer[id=%s, firstName='%s', lastName='%s']",
id, firstName, lastName);
}
}
3、创建持久化类
package com.example.jdbc.jpa.repository;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
//import org.springframework.data.repository.CrudRepository;
//import org.springframework.stereotype.Repository;
import com.example.jdbc.jpa.model.Customer;
public interface CustomerRepository extends CrudRepository<Customer, String> {//继承CrudRepository接口
List<Customer> findByLastName(String lastName);
}
4、创建controler测试类
package com.example.jdbc.jpa.controler;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.jdbc.jpa.model.Customer;
import com.example.jdbc.jpa.model.User;
import com.example.jdbc.jpa.repository.CustomerRepository;
import com.example.jdbc.jpa.repository.UserRepository;
@RestController
public class CustomerControler {
@Autowired //don't forget the setter
private CustomerRepository customerRepository;
@Autowired //don't forget the setter
private UserRepository userRepository;
//
// @Autowired
// private MongoTemplate mongoTemplate;
@RequestMapping("/saveCustomer")
public String saveCustomer(){
Customer customer =new Customer("Jack", "Bauer");
customerRepository.save(customer);
System.out.println("44444");
return customer.toString();
}
@RequestMapping("/getCustomer")
public String getCustomer(){
List<Customer> customers=customerRepository.findByLastName("Jack");
System.out.println("44444");
Customer customer=customers.get(0);
return customer.toString();
}
@RequestMapping("/saveUser")
public String saveUser(){
User user =new User("Jack", "Bauer");
userRepository.save(user);
return user.toString();
}
//
// @RequestMapping("/getCustomerByTemplate")
// public String getCustomerByTemplate(){
//
// Query query = new Query();
// query.addCriteria(Criteria.where("firstName").is("Jack"));
//
// List<Customer> customers = mongoTemplate.find(query, Customer.class);
// return customers.get(0).toString();
//
// }
}
5、application.properties 配置文件增加mysql连接配置
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456