最近开始学习springboot,通过上网找资料和看视频学会了许多,下面就是博主的学习过程。。。

开发环境:jdk1.8、开发工具IDEA2016、Tomcat9.0.8,MySQL版本5.1.2

 

 

首先来说一下关于JPA,百度是这么说的:

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。

 

简而言之,JPA支持对象和数据库中表的映射关系,可以根据实体(Entity)对象持久化到数据库表中;并且使用其API可以操作实体对象,实现CRUD操作。

其好处就是:(具体好处也可以去搜索,毕竟我的总结可能有疏漏或者不同)

1.不用自己建表(下面的用法会展示如何自动映射实体到数据库中自动建表)

2.不用自己书写JDBC代码和重复书写简单的SQL代码

3.基于非侵入式原则设计,因此可以很容易地和其它框架或者容器集成。

4.面向对象的设计,操作对象是实体而不是数据库。

-------

 

所以关于构建SpringBoot项目中,如何使用JPA进行开发,下面我用一个小Demo来介绍:

这里就不仔细说如何创建SpringBoot项目了。

不知道如何创建的可以查看我的另一篇文章:


 

打开IDEA

pom.xml添加一下依赖

<!-- mysql,我这里用的是mysql数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
<!-- jpa-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

 

配置文件application.properties增加数据库信息

Java持久代缓慢增长_JPA

其中我的数据库名称为springboot,这个要自己手动创建。

create database springboot;

其中spring.jpa.properties.hibernate.hbm2ddl.auto=update表示自动更新表结构,不用自己手动创建

新建实体类包,命名为pojo,在此新建实体类Category。

Java持久代缓慢增长_springboot_02

接下来新建dao包,下面新建CategoryDAO接口,用于对category_表的数据操作。

Java持久代缓慢增长_spring_03

新建web包(控制层)下CategoryController类

Java持久代缓慢增长_JPA_04

Java持久代缓慢增长_JPA_05

这里我使用findAll()方法作为例子,findAll()方法就是查询出表中所有信息。

 

测试:

新建listCategory.jsp

Java持久代缓慢增长_springboot_06

 

运行

Java持久代缓慢增长_spring_07

如果控制台没有报错,则启动成功。

查看mysql数据库

Java持久代缓慢增长_springboot_08

发现该表自动创建,但是里面是没有数据的,我们向里面插入几条数据,等等用于浏览器访问测试。

Java持久代缓慢增长_JpaRepository_09

浏览器测试

Java持久代缓慢增长_springboot_10

好的,没有问题,成功!

 

如果实践过程有问题,欢迎评论。。共同解决。。。