0003SpringBoot整合SpringDataJPA

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);

}
}

项目结构图如下:

 

 理解不到位之处望指教。

猜你喜欢

转载自www.cnblogs.com/xiao1572662/p/11875943.html