美文网首页
SpringBoot和SpringDataJPA-第三章

SpringBoot和SpringDataJPA-第三章

作者: jkian | 来源:发表于2018-06-06 16:58 被阅读0次

    前面2个章节我们简单讲解了SpringBoot的操作简单性,SpringBoot框架内部提供了很多我们需要用到的组件,需要什么你就可以拿到项目里。

    在我们平时的项目中,数据的存储以及访问都是最为核心的关键部分,现在有很多企业采用主流的数据库,如关系型数据库:MySQL数据库,oracle数据库,sqlserver数据库。非关系型数据库:redis,mongodb等。

    SpringBoot已经为我们提供了很多种的数据库来做数据存储以及读取,上面只是简单的几种,那么我接下来以MySQL数据库为例来讲述下本章的内容。

    注意:我们学习的章节都是按照步骤来的,后面添加的jar和前面所学章节jar同时存在,不然项目会报错。我就不在后面章节再写前面的jar引入了。

    本章目标

         学习并且使用SpringBoot访问MySQL数据库,并且结合SpringDataJPA完成CRUD(Create,Read,Update,Delete)简单操作。

    一、配置SpringBoot对SpringDataJPA的支持

    首先我们需要连接数据库MySQL,理所当然,导入MySQL的jar,如图一

    图一

    接下来要导入和SpringJPA的支持,还需要引入一个JSON的jar包,如图二所示:

    图二

    接下来我们引入一个阿里巴巴的一个fastjson的jar包,如图三所示:

    图三

    上图的注释是我添加的,项目默认创建完成后是没有注释的。

    注意:如果使用内部tomcat运行项目需要将spring-boot-starter-tomcat的scope标签注释掉。

    配置数据源以及JPA

    今后我们修改application.properties文件配置为application.yml配置。.yml配置文件与.properties配置要更清晰更有层次感,可以很明了的看懂配置信息,但2个文件可以同时存在。Springboot会自动扫描。

    我们在resources目录下创建application.yml文件,并且配置DataSource以及JPA,如下图四所示:

    图四

    可以看到上述配置文件内,我们使用了本地的一个mysql数据库,mysql数据库是我们是先安装好的,并且创建了一个名叫gateway-manage的数据库,JPA的配置了show-sql用来在控制台输出JPA自动生成的sql语句。

    上述数据配置文件已经完成,接下来我们新建数据库测试表结构我使用的数据库工具是Navicat Premium打开,大家可自行下载或者使用其他工具,结构如下图5所示:

    图五

    一、创建实体

    接下来我们开始编写实体,我们采用@Table注解来编写一个实体类,如下图6所示:

    图六

    二、创建接口,创建JPA

    实体类我们也已经创建完成了,那么接下来我们需要使用SpringDataJPA来完成数据库持久化操作,我们新建名字叫做dao的package,然后创建UserJPA接口并且继承SpringDataJPA内的接口作为父类,接下来我们来编写SpringDataJPA的实现的Dao层,如图七所示:

    图七

    我们UserJPA继承了JpaRepository接口(SpringDataJPA提供的简单数据操作接口)、JpaSpecificationExecutor(SpringDataJPA提供的复杂查询接口)、Serializable(序列化接口)。

    我们并不需要做其他的任何操作了,因为SpringBoot以及SpringDataJPA会为我们全部搞定,SpringDataJPA内部使用了类代理的方式让继承了它接口的子接口都以spring管理的Bean的形式存在,也就是说我们可以直接使用@Autowired注解在spring管理bean使用,如下图八所示:

    图八

    到这一步我们的数据库层几乎已经编写完成了,那么我们需要编写控制器让我们通过页面可以访问到数据。

    编写查询方法

           我们接着看UserController中,然后创建一个查询用户列表的方法,如下图9所示:

    图九

        注:其中userJps.findAll()方法就是SpringDataJPA为我们提供的内置方法,它可以查询表内所有的数据,除了findAll还有很多有用的方法。

    编写新增/更新方法

    图10

        注:图10上述操作是完成数据库持久化操作,也是SpringDataJPA提供的内置方法,save方法可以执行添加也可以执行更新,如果需要执行持久化的实体存在主键值则更新数据,如果不存在则添加数据。

    编写删除方法

    图11

      图11 我们删除完用户后直接返回了查询所有用户列表,可以查看到用户是否已经删除成功。这样我们只剩下最后一步操作了。

    运行项目

    图12

        上述图片红色部分表示我们已经加载了我们写的方法。那么我们尝试访问用户列表路径:127.0.0.1:8080/user/list可以看到如下图13所示,之前我因为添加了几条数据,结果我们如图13所示

    图13

        注:其他的操作我就不在这里一一运行了,就靠大家自己去测试了。

    总结

    上述内容就是我们本章的全部内容,主要讲述了springboot整合mysql并且使用SpringDataJPA来完成数据库操作。

    相关文章

      网友评论

          本文标题:SpringBoot和SpringDataJPA-第三章

          本文链接:https://www.haomeiwen.com/subject/fxomsftx.html