关于JPA
JPA(JavaPersistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术。
JPA是一个规范,并没有具体的实现,底层可以使用成熟的ORM框架(如Hibernate)等实现,是不是有点像JDBC?其实就是如此。
关于Spring-data-jpa
spring-data-jpa遵循JPA规范,底层依赖于Hibernate(可能也是很多人不愿意使用的原因),对使用者而言,底层用了什么ORM框架完全透明,大多数情况下完全不用知道。使用spring-data-jpa,通过创建实体类,添加注解,继承Jpa规范提供的接口,即可实现数据库的连接和操作,继承的接口中已经参数化了所定义的实体类,持久层就包括一个实体类、一个接口,非常方便。
搭建环境
一 搭建项目
依赖spring-boot快速搭建spring-data-jpa环境,加入web以及JPA模块,使用mysql,所以还需要引入mysql驱动,加入Web模块的目的仅仅是为了借助JRebel强大的热部署能力提高开发效率。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
二 数据库的基本配置信息
打开application.properties文件,输入基本的数据库连接信息:
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/xxx
spring.datasource.username = root
spring.datasource.password = root
打开JpaProperties.java,可以看到jpa的可配置项,这里我们只需要配置极少的条目:
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
其中spring.jpa.hibernate.ddl-auto = update可以让hibernate在我们启动项目的时候利用Model自动建立数据表(当然你需要把表建了)。
还有其他:
create:每次启动都会删除已经存在的表,然后进行一次update。
create-drop:启动时新建,关闭时删除。
validate:启动时验证,不一致抛出异常。
到此,一个基本的JPA运行环境搭建完毕。
网友评论