最近开始学习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增加数据库信息
其中我的数据库名称为springboot,这个要自己手动创建。
create database springboot;
其中spring.jpa.properties.hibernate.hbm2ddl.auto=update表示自动更新表结构,不用自己手动创建
新建实体类包,命名为pojo,在此新建实体类Category。
接下来新建dao包,下面新建CategoryDAO接口,用于对category_表的数据操作。
新建web包(控制层)下CategoryController类
这里我使用findAll()方法作为例子,findAll()方法就是查询出表中所有信息。
测试:
新建listCategory.jsp
运行
如果控制台没有报错,则启动成功。
查看mysql数据库
发现该表自动创建,但是里面是没有数据的,我们向里面插入几条数据,等等用于浏览器访问测试。
浏览器测试
好的,没有问题,成功!
如果实践过程有问题,欢迎评论。。共同解决。。。