SpringBoot整合SpringDataJpa步骤如下:
1、添加data-jpa起步依赖(pom.xml)
2、添加数据库驱动坐标、添加Junit起步依赖(pom.xml)
3、添加数据库连接信息(application.properties)
4、创建user表,表已创建可省略
5、创建User对应的实体Bean(需要加注解的方式,而Mybatis不用任何注解)
6、创建UserReporitory接口,需要extends JpaRepository<User,Integer> (不再需要像Mybatis一样添加接口与查询语句对应的映射文件)
7、在application.properties中添加SpringDataJPA对应的关系
8、编写测试类
9、启动测试
具体内容如下:
pom.xml中的内容:
<!--pringDataJPA-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--不需要填写版本号,因为在父依赖里已经给了判断-->
<!--<version>5.1.39</version>-->
</dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
application.properties中的内容:
#数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root@123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#springboot整合springDataJPA信息
spring.jpa.hibernate.ddl-auto=update
# 控制台打印sql
spring.jpa.show-sql=true
User实体的内容:
package com.myself.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String username;
private String password;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", name='" + name + '\'' +
'}';
}
}
UserRepository.java接口的内容:
package com.myself.repository;
import com.myself.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface UserRepository extends JpaRepository<User,Integer> {
public List<User> findAll();
}
测试类的SpringDataJPATest.jva的内容:
package com.myself;
import com.myself.domain.User;
import com.myself.repository.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootJpaApplication.class)
public class SpringDataJPATest {
@Autowired
private UserRepository userRepository;
@Test
public void queryUserTest(){
List<User> users = userRepository.findAll();
System.out.println(users);
}
}
项目结构图如下:
理解不到位之处望指教。