java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring-Data JPA搭建项目

搭建简单的Spring-Data JPA项目

作者:1005908

本文主要介绍了搭建简单的Spring-Data JPA项目,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、 JPA概述

JPA的全称是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成。

JPA通过JDK 5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

二、jpa_demo

step1:首先导入需要的依赖

<dependencies>
        <!-- junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <!-- hibernate对jpa的支持包 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.6.3.Final</version>
        </dependency>

        <!-- c3p0 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>5.6.1.Final</version>
        </dependency>

        <!-- log日志 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        
        <!-- Mysql and MariaDB -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    </dependencies>

step2:编写实体类和数据库表的映射配置[重点]

以客户实体类为例(包含字段:custId,custName,custPhone)
在实体类上使用JPA注解的形式配置映射关系

@Entity
@Table(name="cst_customer")
public class Customer {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY) 
    @Column(name="cust_id")
    private Long custId;

    @Column(name="cust_name")
    private String custName;

    @Column(name="cust_phone")
    private String custPhone;
    
    getter/setter...

注解说明:

@Entity:声明此类为实体类。

@Table(name="数据库表名"):实体类和表的映射地址。

@Id:声明当前属性为主键。

@GeneratedValue(strategy=GenerationType.*):配置主键的生成策略

@Column

step3:编写配置文件属性

yml文件:

数据库配置:******

jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

属性说明:

hibernate.ddl-auto:

show-sql:调用函数时,是否在控制台打印sql语句。

step3编写符合Spring Data JPA规范的Dao层接口

Spring Data JPA是spring提供的一款对于数据访问层(Dao层)的框架,使用Spring Data JPA,只需要按照框架的规范提供dao接口,不需要实现类就可以完成数据库的增删改查、分页查询等方法的定义,极大的简化了我们的开发过程。

在Spring Data JPA中,对于定义符合规范的Dao层接口,我们只需要遵循以下几点就可以了:

创建一个Dao层接口,并实现JpaRepository和JpaSpecificationExecutor

提供相应的泛型

public interface CustomerDao extends JpaRepository<Customer, Long>, JpaSpecificationExecutor<Customer> {
}

说明:

OK!现在我们就能对实体进行的简单操作啦~

step4:编写测试用例

public class DataTest {
    @Autowired
    private CustomerDao customerDao;

    /**
     * 保存一个客户数据
     * 调用save(obj)方法
     */
    @Test
    public void testSave() {
        Customer c = new Customer();
        c.setCustName("掘金");
        customerDao.save(c);
    }

执行测试用例查看数据库显示数据添加成功!

到此这篇关于搭建简单的Spring-Data JPA项目的文章就介绍到这了,更多相关Spring-Data JPA搭建项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文