SpringBoot整合SpringData JPA

springboots使用的版本是2.0.1,注意不同版本可能有差异,并不一定通用

添加Spring Data JPA的起步依赖:

<!-- springBoot JPA的起步依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

添加数据库驱动依赖:

<!-- MySQL连接驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

在application.properties中配置数据库和jpa的相关属性:

#数据库连接信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

#JPA配置
spring.jpa.database=MySql
#自动创建数据库表
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

创建实体配置实体:

@Entity
@Table(name = "tb_user")
public class User { // 主键 @Id @GeneratedValue private Long id; // 用户名 private String username; // 密码 private String password; // 姓名 private String name; /************ get/set方法 ************/ }

编写dao接口:

public interface UserDao extends JpaRepository<User, Long>, JpaSpecificationExecutor<User> {
}

编写测试类:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class JpaTest {
    @Autowired
    private UserDao userDao;

    @Test
    public void test(){
        List<User> users = userDao.findAll();
        for (User user : users) {
            System.out.println(user);
        }
    }
}

注意:如果是jdk9,执行报错如下:

原因:jdk缺少相应的jar
解决方案:手动导入对应的maven坐标,如下:

<!--jdk9需要导入如下坐标-->
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
原文地址:https://www.cnblogs.com/roadlandscape/p/12384529.html