搭建springBoot + JPA + mysql 的web项目

说明:此篇文章不算是纯技术文,自己心血来潮想搭建这么一个项目,东翻西找,这看看那看看,写了一个小demo,前后台交互,数据库访问包括事物管控均已测试通过。在此分享,希望初识springboot或jpa的同学能有个基本的搭建思路,也算是给自己留个笔记吧。

搭建过程正式开始:

1.首先是项目结构,就是正常的一个maven项目的结构

2.pom.xml的配置

(1)springboot和web的依赖

(2)要使后台可以正确跳转到jsp界面需加入下面这个jar。否则跳转将变成下载jsp文件

(3)本项目中使用JPA和mysql,所以引入下面两个jar

3.配置文件application.properties解释

 

spring.mvc.view.prefix=/jsp/
spring.mvc.view.suffix=.jsp

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/myTest?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none

(1)mvc的为跳转jsp用的,相当于之前springmvc中的

     org.springframework.web.servlet.view.InternalResourceViewResolver

(2)datasource就是数据源了

(3)jpa的三个就是jpa的设置

这些都是最基本的配置,不用一一解释含义了。

4.这个项目我们使用自定义的repository,虽然jpa提供了几个可继承的接口已经实现一些对数据库的操作,但基于对之前hibernate的使用,我还是喜欢自定义的,这样baserepository定义好方法,在service层使用更自由。当然个人有个人的喜好吧。

(1)首先是接口类

这边我继承了JpaRepository这个接口,@NoRepositoryBean这个注解告诉spring容器不要生成这个接口的bean。如果不加此注解,项目启动时会报错。

(2)实现类

实现类继承了SimpleJpaRepository来支持我们自定义一些方法如

(3)由于使用自定义的Repository,所以需要指明哪个类是jpa的Repository,随便建立一个类,加入如下注解

(4)各表对应的Repository只要声明成一个接口继承我们自定义的BaseRepository即可。

5.Entity类

摒弃了spring+hibernate时使用的hbm.xml这种映射文件,采用注解来定义数据库类。如下,而且使用IDEA开发使用其逆向生成Entity的功能,即不容易出错又提高开发效率

6.事物管控。

事物管控只需要在service层使用注解@Transactional即可实现,这边测试时特意制造了一个空指针的异常,新增user时回正常回滚。

总结:其实呢,本人就是一个很懒的程序员,技术不好,就希望能有更便捷的开发方式。从以前的ssh到后面的springmvc到注解代替xml再到现在的springboot。构建一个简单的web项目真的是越来越方便了。同时对于此篇博文,开题也讲了,不是纯技术文档,我个人在百度或者google的时候也是更多的希望看到的是源代码,所以话不多,大家看代码吧。

源码下载:https://download.csdn.net/download/windon12345/10318167

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值